17. oktober 2003 - 22:19Der er
6 kommentarer og 1 løsning
Msg.ParamW
Hej,
Når jeg bruger følgende funktion: procedure TMainForm.MessageReceiver(var msg: TMessage); var FileName: string; begin FileName := PChar(msg.WParam); if FileName <> '' then begin DoOpenFile(FileName); end; end;
Jeg tror ikke der sker ret meget :-)) Men jeg tror, at jeg ved hvad meningen var med koden. Der onkes en " Drag'n'Drop File " funktion i applikationen. Am I wrong?
Ja, Det er når du dobbeltklikker på en fil at den åbner mit program... Så tjekker mit program om den allerade køre, hvis ja bruger den PostMessage funktionen
type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public procedure AppMessageHandler(var Msg: TMsg; var Handled: Boolean); procedure WMDropFiles(var WinMsg: TWMDropFiles); message wm_DropFiles; end;
var Form1: TForm1;
implementation uses ShellAPI; {$R *.dfm}
procedure TForm1.AppMessageHandler(var Msg: TMsg; var Handled: Boolean); begin if (Msg.Message = WM_DropFiles) and IsIconic(Application.Handle) then begin Perform(Msg.Message,Msg.WParam,Msg.LParam); Handled := true; end; end;
Hjælper det på mit problem... ? :S Ved ikk, altså.. Her er min kode:
procedure TMainForm.HandleMessage(var Message: TMessage); var FileName: string; begin FileName := PChar(Message.WParam); ShowMessage(FileName); if FileExists(FileName) then begin DoOpenFile(FileName); end; end; // Og til sidst :o) var strCaption: String; Reg: TRegistry;
initialization MutexHandle :=CreateMutex(nil,true,'NMP IDev 2003'); Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('Software\', False) = True then strCaption := Reg.ReadString('IDevCap'); Reg.Free; if GetLastError = ERROR_ALREADY_EXISTS then begin ShowMessage(ParamStr(1)); SendMessage(FindWindow(nil,PChar(strCaption)),TH_IDEV_2003,0,DWORD(PChar(ParamStr(1)))); halt; end; finalization if MutexHandle <> 0 then CloseHandle(MutexHandle);
Fik det ikk til at virke... Du får points alligevel...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.