using System;
using System.Drawing;
// The 'windowHandle' parameter will contain the window handle for the:
// - Active window when run by hotkey
// - Window Location target when run by a Window Location rule
// - TitleBar Button owner when run by a TitleBar Button
// - Jump List owner when run from a Taskbar Jump List
// - Currently focused window if none of these match
public static class DisplayFusionFunction
{
public static void Run(IntPtr windowHandle)
{
// launch application
uint appID = BFS.Application.Start("C:\\Program Files\\NVIDIA Corporation\\Control Panel Client\\nvcplui.exe", "");
// loop until we get a main window
int count = 0;
while (true)
{
windowHandle = BFS.Application.GetMainWindowByAppID(appID);
if (windowHandle != IntPtr.Zero)
break;
BFS.General.ThreadWait(250);
if (++count >= 30000 / 250) // loop for 30 seconds
return;
}
// do something with the window here
BFS.Dialog.ShowMessageInfo(windowHandle.ToString());
}
}