Processing Ajax...

Title

Message

Confirm

Confirm

Confirm

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure?

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