Hi,
I wonder if it's possible to get the Everything path (the path where Everything exec reside) using the SDK, regardless of whether Everything is portable or installed.
Get Everything path via IPC
Re: Get Everything path via IPC
Not possible with the SDK.
Please try the following:
Get the window handle to the Everything notification window:
Get the process ID from the window handle:
Open an Everything process handle:
Get the module filename from the process handle:
Alternatively, you can find the install path in the registry under:
HKEY_LOCAL_MACHINE\SOFTWARE\voidtools\Everything
with the InstallLocation key.
edit:
With Everything 1.5 you can do an IPC search for: whole:about:exe to return the full path and name of your Everything.exe
Please try the following:
Get the window handle to the Everything notification window:
HWND everythingTaskbarNotificationWindow = FindWindow("EVERYTHING_TASKBAR_NOTIFICATION",0);
Get the process ID from the window handle:
DWORD everythingProcessId;
GetWindowThreadProcessId(everythingTaskbarNotificationWindow,&everythingProcessId);
Open an Everything process handle:
HANDLE hProcess;
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,everythingProcessId);
Get the module filename from the process handle:
char szModName[MAX_PATH];
if ( GetModuleFileNameEx(hProcess,NULL,szModName,sizeof(szModName)))
{
// Do something with the path to Everything.exe
}
Alternatively, you can find the install path in the registry under:
HKEY_LOCAL_MACHINE\SOFTWARE\voidtools\Everything
with the InstallLocation key.
edit:
With Everything 1.5 you can do an IPC search for: whole:about:exe to return the full path and name of your Everything.exe