usingSystem.Runtime.InteropServices;
usingSystem.Diagnostics;
[DllImport("user32.dll")]
publicstaticexternIntPtrGetClipboardOwner();
[DllImport("user32.dll")]
publicstaticexternintGetWindowThreadProcessId(IntPtrhandle,
outintprocessId);
[DllImport("kernel32.dll")]
publicstaticexternboolCloseHandle(IntPtrhandle);
privatevoidbutton1_Click(objectsender,EventArgse)
...{
IntPtrvOwner=GetClipboardOwner();
if(vOwner==IntPtr.Zero)return;
intvProcessId;
GetWindowThreadProcessId(vOwner,outvProcessId);
ProcessvProcess=Process.GetProcessById(vProcessId);
Text=vProcess.MainModule.FileName;
}
usesPsAPI;
procedureTForm1.Button1Click(Sender:TObject);
var
vOwner:THandle;
vProcessId:THandle;
vProcess:THandle;
vBuffer:array[0..255]ofChar;
begin
vOwner:=GetClipboardOwner();
ifvOwner=0thenExit;
GetWindowThreadProcessId(vOwner,vProcessId);
vProcess:=OpenProcess(PROCESS_QUERY_INFORMATIONorPROCESS_VM_READ,
False,vProcessId);
GetModuleFileNameEx(vProcess,0,vBuffer,SizeOf(vBuffer));
CloseHandle(vProcess);
Caption:=vBuffer;
end;
1万+

被折叠的 条评论
为什么被折叠?



