Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

How To: P/Invoke External Win32 Functions

Description
This function shows how to call external win32 functions using p/invoke. In this case we're calling timeGetTime to get the time in milliseconds since Windows was started.
Language
C#.net
Minimum Version
Created By
Jon Tackabury (BFS)
Contributors
-
Date Created
Dec 30, 2014
Date Last Modified
Dec 30, 2014

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)
	{
		// call the external win32 function timeGetTime to get the time in milliseconds since Windows was started
		uint value = timeGetTime();
		
		// show the time
		BFS.Dialog.ShowMessageInfo(value.ToString("###,###,###,##0") + " ms");
	}
	
	// this is an external win32 function that we are importing
	[System.Runtime.InteropServices.DllImport("winmm.dll")]
	public static extern uint timeGetTime();
}