Al escribir programas, a veces para ahorrar esfuerzo o para otros fines, a menudo queremos tomar prestado el cuadro de diálogo del sistema. Entonces, ¿cómo podemos llamar al cuadro de diálogo del sistema? Un amigo llama al cuadro de diálogo "Abrir con" en VB así:
winexec(PChar('rundll32shell32,OpenAs_RunDLL'+FilePath),SW_SHOWDEFAULT);
Este código se implementa ejecutando rundll32.exe y permitiéndole llamar a los recursos en shell32.dll. El método es factible, pero hay muchos novatos como yo que no entienden cómo llamar a los valiosos recursos en shell32.dll. ¿Cómo deberíamos hacerlo?
Así es como lo llamé:
1. Llame al cuadro de diálogo "Acerca de" del sistema:
Primero agregue SHellApi a los usos,
Luego escribe el siguiente código:
PRocedureTForm1.Button1Click(Remitente:TObject);
var
shellapp:variante;
comenzar
ShellAboutW(0,'Timerv1.03','kedyCopyright',1);
fin;
No entraré en detalles sobre los otros pasos. Después de ejecutar, haga clic en el botón y aparecerá el cuadro de diálogo estándar Acerca de de WINDOWS. El cuadro de diálogo se titula "Acerca de Timerv1.03". Como puede ver, utilicé la función ShellAboutW en el programa. Esta función se describe en MSDN2003 así:
ShellAcerca de la función
Muestra un cuadro de diálogo Shell About.
Sintaxis
intShellAbout(HWNDhWnd,
LPCTSTRszApp,
LPCTSTRszOtras cosas,
HICONhIcono
);
Parámetros
wx
[in] Controlador de ventana como ventana principal. Este parámetro puede ser NULL.
szApp
[in] Puntero a una cadena terminada en nulo que contiene texto que se mostrará en el
barra de título del cuadro de diálogo Shell About y en la primera línea del cuadro de diálogo después del
texto "Microsoft". Si el texto contiene un separador (#) que lo divide en dos partes, el
La función muestra la primera parte en la barra de título y la segunda parte en la primera línea.
después del texto "Microsoft".
szOtrosCosas
[in] Puntero a una cadena terminada en nulo que contiene texto que se mostrará en el
cuadro de diálogo después de la información de versión y derechos de autor.
hIcono
[en]Iconoquelafunciónmuestraenelcuadrodediálogo.SiesteparámetroesNULL,el
La función muestra el icono de Microsoft® Windows® o Microsoft Windows NT®.
No creo que necesites que traduzca lo que significa. Es mejor que veas estas cosas tú mismo.
2. Llame al cuadro de diálogo de apagado.
Sólo necesitamos cambiar la parte inicial del código para
comenzar
shellapp:=CreateOleObject('Shell.aplicación');
shellapp.ShutDownWindows;
fin;
Otras partes permanecen sin cambios. Ejecute y haga clic en el botón y podremos ver el cuadro de diálogo de apagado estándar del sistema.
De hecho, esta sigue siendo la función de WindowsAPI llamada ShutdownWindows.
Esta parte utiliza dos funciones en el método de la aplicación Shell de Windows. Otras funciones del método incluyen:
BrowseForFolder, CascadeWindows, ControlPanelItem, EjectPC, Explore, FileRun, FindComputer, FindFiles, Ayuda, MinimizeAll, NameSpace, Open, RefreshMenu, SetTime, TileHorizontally, TileVertically, TrayProperties, UndoMinimizeALL. Sólo he aprendido a utilizar algunas de estas funciones. Para obtener más información, consulte el contenido sobre shellobject en MSDN.
Lo que más quiero decir es que debes usar MSDN para aprender programas en Windows. Estoy realmente sorprendido por los recursos de esta biblioteca. Puedes echarle un vistazo y creo que tú también lo pensarás.