Buenas a todos,
no se si se podrá hacer, no he encontrado nada al respecto, les cuento. Tengo dos trozos de código que he conseguido de aquí mismo, del club. Uno sirve para poner la aplicación al lado del reloj de windows, como un icono de sistema.
Código Delphi
[-]
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
if (Msg.CmdType = SC_MINIMIZE) then begin
with IconData do
begin
cbSize := sizeof(IconData);
Wnd := Handle;
uID := 100;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
uCallbackMessage := WM_USER + 1;
hIcon := Application.Icon.Handle;
StrPCopy(szTip, Application.Title);
end;
Shell_NotifyIcon(NIM_ADD, @IconData);
Hide;
end else DefaultHandler(Msg);
end;
El otro código es para poder arrastrar archivos desde windows a mi aplicación.
Código Delphi
[-]
procedure TForm1.AcceptFiles( var msg : TMessage );
const
cnMaxFileNameLen = 255;
var
i,
nCount : integer;
acFileName : array [0..cnMaxFileNameLen] of char;
FgThreadId : DWORD;
AppThreadId : DWORD;
begin
nCount:=DragQueryFile(msg.WParam,$FFFFFFFF,acFileName,cnMaxFileNameLen);
for i := 0 to nCount-1 do
begin
DragQueryFile(msg.WParam,i,acFileName, cnMaxFileNameLen);
MessageBox(Handle,acFileName,'',MB_OK );
end;
DragFinish( msg.WParam );
end;
Los dos funcionan correctamente pero lo que no consigo es que funcione el código de arrastrar un archivo cuando la aplicación esta minimizada al lado del reloj, ¿como podría conseguir esto?, donde tendría que poner el código para que me aceptara el archivo, ahora lo tengo puesto en el FormCreate y cuando la aplicación no está minimizada funciona.
Espero que se entienda lo que quiero.
Saludos.