Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Launch Application and Wait for Main Window

Description
Launches an application and waits for a valid main window.
Language
C#.net
Minimum Version
Created By
solaris765
Contributors
-
Date Created
Apr 29, 2015
Date Last Modified
Apr 29, 2015

Scripted Function (Macro) Code

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());
	}
}