При написании программ иногда в целях экономии усилий или для других целей нам часто хочется позаимствовать диалоговое окно системы. Итак, как же нам вызвать системное диалоговое окно? Друг вызывает диалоговое окно «Открыть с помощью» в VB следующим образом:
Winexec(PChar('rundll32shell32,OpenAs_RunDLL'+FilePath),SW_SHOWDEFAULT);
Этот код реализуется путем запуска rundll32.exe и разрешения ему вызывать ресурсы в Shell32.dll. Этот метод осуществим, но есть много новичков, таких как я, которые не понимают, как вызывать драгоценные ресурсы в Shell32.dll. Как нам это сделать?
Вот как я это назвал:
1. Вызовите диалоговое окно «О системе»:
Сначала добавьте SHellApi в список использования,
Затем напишите следующий код:
PROcedureTForm1.Button1Click(Отправитель:TObject);
вар
шеллапп: вариант;
начинать
ShellAboutW(0,'Timerv1.03','kedyCopyright',1);
конец;
Я не буду вдаваться в подробности остальных шагов. После запуска нажмите кнопку, и появится стандартное диалоговое окно WINDOWS «О программе». Диалоговое окно называется «О таймере v1.03». Как видите, я использовал в программе функцию ShellAboutW. Эта функция описана в MSDN2003 следующим образом:
ОболочкаО функции
Отобразится диалоговое окно ShellAbout.
Синтаксис
intShellAbout(HWNDhWnd,
LPCTSTRszApp,
LPCTSTRszOtherStuff,
HICONhIcon
);
Параметры
шх
[in]Описатель родительского окна. Этот параметр может иметь значение NULL.
szApp
[in]Указатель на строку с нулевым завершением, содержащую текст, который будет отображаться в
заголовок диалогового окна «Оболочка» и в первой строке диалогового окна после
текст «Microsoft». Если текст содержит разделитель (#), разделяющий его на две части,
функция отображает первую часть в заголовке и вторую часть в первой строке
после текста «Microsoft».
szДругие вещи
[in]Указатель на строку с нулевым завершением, содержащую текст, который будет отображаться в
диалоговое окно после версии и информации об авторских правах.
hIcon
[in]Значок, который функция отображает в диалоговом окне. Если этот параметр имеет значение NULL,
Функция отображает значок Microsoft®Windows® или MicrosoftWindowsNT®.
Я не думаю, что вам нужно, чтобы я переводил, что это значит. Лучше всего увидеть эти вещи самостоятельно.
2. Вызовите диалоговое окно выключения.
Нам нужно только изменить начальную часть кода на
начинать
shellapp:=CreateOleObject('Shell.application');
Shellapp.ShutDownWindows;
конец;
Остальные части остаются без изменений. Запускаем и нажимаем кнопку и видим стандартное диалоговое окно завершения работы системы.
Фактически, это по-прежнему вызывается функция WindowsAPI ShutdownWindows.
В этой части используются две функции метода оболочки Windows. Другие функции метода включают в себя:
BrowseForFolder, CascadeWindows, ControlPanelItem, EjectPC, Explore, FileRun, FindComputer, FindFiles, Help, MinimizeAll, NameSpace, Open, RefreshMenu, SetTime, TileHorizontally, TileVertically, TrayProperties, UndoMinimizeALL. Я научился использовать только некоторые из этих функций. Для получения подробной информации ознакомьтесь с информацией о Shellobject в MSDN.
Больше всего я хочу сказать, что вы должны использовать MSDN для изучения программ под Windows. Я действительно поражен ресурсами в этой библиотеке. Вы можете взглянуть, и я думаю, вы тоже так подумаете.