2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:02 
usr00210 в сообщении #478221 писал(а):
Например в командой строке можно сделать так: rundll32 user32, MessageBox "Hello World" - будет вам окошко с кнопочками и текстом Хелло ворлд.

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

 
 
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:03 
Странно, припер с MessageBox у меня не работает прямо как у Kitozavrа, а вот MessageBeep 0 прекрасно работает.

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

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

 
 
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:06 
arseniiv в сообщении #478338 писал(а):
Странно, припер с MessageBox у меня не работает прямо как у Kitozavrа, а вот MessageBeep 0 прекрасно работает.

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

 
 
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 18:07 
Ой, не дочитал. Вы же про это как раз и написали. Видимо, cmd в XP неюникодная, а MessageBox по умолчанию уже MessageBoxW. Варианты с моей стороны не работают.

(Оффтоп)

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

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

 
 
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 19:03 
Аватара пользователя
MessageBeep 0 работает, чего не скажешь ни об одном из вариантов MessageBox.

 
 
 
 Re: WinApi в блокноте
Сообщение28.08.2011, 20:45 
С правами доступа может это как связано. У вас есть права администратора на компьютере?

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

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

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

 
 
 
 Re: WinApi в блокноте
Сообщение14.03.2012, 13:15 
вин 7.
rundll32 user32, MessageBox "Hello World"
ничего не происходит

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

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

 
 
 
 Re: WinApi в блокноте
Сообщение14.03.2012, 21:23 

(2 Alexu007.)

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

 
 
 [ Сообщений: 27 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group