Ao escrever programas, às vezes para economizar esforço ou para outros fins, muitas vezes queremos emprestar a caixa de diálogo do sistema. Então, como podemos chamar a caixa de diálogo do sistema? Um amigo chama a caixa de diálogo "Abrir com" em VB assim:
winexec(PChar('rundll32shell32,OpenAs_RunDLL'+FilePath),SW_SHOWDEFAULT);
Este código é implementado executando rundll32.exe e permitindo que ele chame os recursos em shell32.dll. O método é viável, mas há muitos novatos como eu que não entendem como chamar os recursos preciosos em shell32.dll.
Aqui está como eu chamei:
1. Chame a caixa de diálogo “Sobre” do sistema:
Primeiro adicione SHellApi aos usos,
Em seguida, escreva o seguinte código:
PRocedureTForm1.Button1Click(Remetente:TObject);
var
shellapp: variante;
começar
ShellAboutW(0,'Timerv1.03','kedyCopyright',1);
fim;
Não entrarei em detalhes sobre as outras etapas. Após a execução, clique no botão e a caixa de diálogo padrão do WINDOWS Sobre aparecerá. A caixa de diálogo é intitulada "Sobre o Timerv1.03". Como você pode ver, usei a função ShellAboutW no programa. Esta função é descrita no MSDN2003 assim:
ShellSobreFunção
Exibe uma caixa de diálogo ShellAbout.
Sintaxe
intShellAbout(HWNDhWnd,
LPCTSTRszApp,
LPCTSTRszOutras coisas,
HICONhIcon
);
Parâmetros
wx
[in]Windowhandletoaparentwindow.EsteparâmetropodeserNULL.
szApp
[in] Ponteiro para uma string terminada em nulo contendo texto que será exibido no
barra de título da caixa de diálogo Sobre do Shell e na primeira linha da caixa de diálogo após o
texto "Microsoft". Se o texto contiver um separador (#) dividindo-o em duas partes, o
função exibe a primeira parte na barra de título e a segunda parte na primeira linha
após o texto "Microsoft".
szOutras coisas
[in] Ponteiro para uma string terminada em nulo contendo texto que será exibido no
caixa de diálogo após a versão e as informações de direitos autorais.
hícone
[in]Ícone que a função é exibida na caixa de diálogo. Se esse parâmetro for NULL, o
função exibe o ícone do Microsoft® Windows® ou do Microsoft Windows NT®.
Não acho que você precise que eu traduza o que isso significa. É melhor ver essas coisas sozinho.
2. Chame a caixa de diálogo de desligamento
Precisamos apenas alterar a parte inicial do código para
começar
shellapp:=CreateOleObject('Shell.application');
shellapp.ShutDownWindows;
fim;
Outras partes permanecem inalteradas. Execute e clique no botão e poderemos ver a caixa de diálogo padrão de desligamento do sistema.
Na verdade, esta ainda é a função WindowsAPI shutdownwindows chamada.
Esta parte usa duas funções no método de aplicação shell do Windows. Outras funções do método incluem:
BrowseForFolder, CascadeWindows, ControlPanelItem, EjectPC, Explore, FileRun, FindComputer, FindFiles, Help, MinimizeAll, NameSpace, Open, RefreshMenu, SetTime, TileHorizontally, TileVerticalmente, TrayProperties, UndoMinimizeALL. Aprendi apenas a usar algumas dessas funções. Para obter detalhes, verifique o conteúdo sobre shellobject no MSDN.
O que mais quero dizer é que você deve usar o MSDN para aprender programas no Windows. Estou realmente impressionado com os recursos desta biblioteca. Você pode dar uma olhada e acho que você também vai pensar.