2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:02 


03/10/06
826
usr00210 в сообщении #478221 писал(а):
Например в командой строке можно сделать так: rundll32 user32, MessageBox "Hello World" - будет вам окошко с кнопочками и текстом Хелло ворлд.

У меня в Windows XP "Hello World" выводится в качестве заголовка окна и вместе с двойными кавычками. В окошке же, где должен быть текст, показываются 3 прямоугольничка. Возможно это кусочек какого то юникодного текста. Похоже при таком запуске MessageBox принимает только одну переменную в виде строки. Всё, что после MessageBox написать, попадает в заголовок окошка.
Чтобы увидеть, что же записано на месте текста, нужно набрать вместо MessageBox MessageBoxA.

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:03 
Заслуженный участник


27/04/09
28128
Странно, припер с MessageBox у меня не работает прямо как у Kitozavrа, а вот MessageBeep 0 прекрасно работает.

-- Вс авг 28, 2011 21:05:26 --

yk2ru, попробуйте MessageBoxW и MessageBoxA. Какая-то из них должна дать другой результат.

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:06 


03/10/06
826
arseniiv в сообщении #478338 писал(а):
Странно, припер с MessageBox у меня не работает прямо как у Kitozavrа, а вот MessageBeep 0 прекрасно работает.

Попробуйте MessageBoxW или MessageBoxA.

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:07 
Заслуженный участник


27/04/09
28128
Ой, не дочитал. Вы же про это как раз и написали. Видимо, cmd в XP неюникодная, а MessageBox по умолчанию уже MessageBoxW. Варианты с моей стороны не работают.

(Оффтоп)

Как мы друг другу одно и то же посоветовали, не заметив! :D

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:26 


03/10/06
826
На моём WinXP в user32 есть следующие функции MessageBoxA, MessageBoxW, MessageBoxExA и MessageBoxExW. Сам MessageBox объявляется в Visual Studio в одном из заголовочных файлов и всего лишь подменяет одну из функций - MessageBoxA или MessageBoxW. При компиляции подставляется или то, или другое в зависимости от наличия объявления переменной "UNICODE".

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 19:03 
Аватара пользователя


03/03/10
1341
MessageBeep 0 работает, чего не скажешь ни об одном из вариантов MessageBox.

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 20:45 


03/10/06
826
С правами доступа может это как связано. У вас есть права администратора на компьютере?

Посмотрите:
http://vlaurie.com/computers2/Articles/ ... ndows7.htm

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 21:32 
Заслуженный участник


27/04/09
28128
yk2ru в сообщении #478344 писал(а):
Сам MessageBox объявляется в Visual Studio в одном из заголовочных файлов и всего лишь подменяет одну из функций - MessageBoxA или MessageBoxW. При компиляции подставляется или то, или другое в зависимости от наличия объявления переменной "UNICODE".
Думал, подмена происходит в библиотеке. :oops:

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение29.08.2011, 01:05 
Аватара пользователя


22/01/11
23
Сидней
из-за меня тема ушла в оффтопик. :oops:
а я всего лишь попытался объяснить разницу между интерпретируемыми и компилируемымм программами.
что касается использование rundll/rundll32 то на практике это в общем-то довольно бесполезная игрушка. она бывает полезна лишь в некоторых особенных ситуациях, когда надо вызвать определенную функцию из динамической библиотеки по определенному протоколу (http://support.microsoft.com/kb/164787). Именно поэтому в окне MessageBox вы видите странные символы, фактически это мусор.

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение14.03.2012, 13:15 


14/03/12
1
вин 7.
rundll32 user32, MessageBox "Hello World"
ничего не происходит

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение14.03.2012, 15:30 


24/05/09

2054
Enlil в сообщении #478082 писал(а):
Здравствуйте Все! :D Помогите методами библиотеки винды WinApi написать прогу в блокноте которая создавала бы окошко с кнопочкой. При нажатии

Нужно написать прогу в блокноте, или написать прогу, которая в блокноте создавала бы окошко с кнопочкой?

 Профиль  
                  
 
 Re: WinApi в блокноте
Сообщение14.03.2012, 21:23 
Заслуженный участник


27/04/09
28128

(2 Alexu007.)

Автор цитируемого вами сообщения уж давно не с нами! :wink:

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group