Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

Search Results for "WM" in [All]

ole32

.

static extern IMalloc CoGetMalloc(uint dwMemContext);

2: STGM
.

    DIRECT_SWMR    = 0x00400000,

.

    DIRECT_SWMR    = 4194304

gdi32

.

    GRADIENT_FILL dwMode);           // gradient fill mode

.

    GRADIENT_FILL dwMode);           // Use either GRADIENT_FILL.RECT_H or GRADIENT_FILL.RECT_V. Using the value GRADIENT_FILL.TRIANGLE is wrong in this overload!

.

    GRADIENT_FILL dwMode);           // Use only GRADIENT_FILL.TRIANGLE. Both values GRADIENT_FILL.RECT_H and GRADIENT_FILL.RECT_V are wrong in this overload!

.

    private static extern int SendMessage(IntPtr hWnd, WindowsMessages wMsg, IntPtr wParam, IntPtr lParam);

.

        long result = SendMessage(HWND_BROADCAST, WindowsMessages.WM_FONTCHANGE, IntPtr.Zero, IntPtr.Zero);

.

        Console.WriteLine(String.Format("WM_FONTCHANGE broadcast returned {0}", result));

.

        //Snipped for length - see the list of WM_ calls on this site.

.

static extern int SetROP2(IntPtr hdc, int fnDrawMode);

.

public struct WmfPlaceableFileHeader

.
Documentation
[WmfPlaceableFileHeader] on MSDN

crypt32

.

    public static extern IntPtr CertCreateCTLContext(uint dwMsgAndCertEncodingType, IntPtr pbCtlEncoded, uint cbCtlEncoded);

.

These constants are used for the dwMsgAndCertEncodingType.

.

            uint dwMsgEncodingType,

.

            uint dwMsgType,

.

static extern IntPtr CryptMsgOpenToEncode(int dwMsgEncodingType, uint dwFlags, int dwMsgType, IntPtr pvMsgEncodeInfo, IntPtr pszInnerContentObjID, IntPtr pStreamInfo);

.

        IntPtr pdwMsgAndCertEncodingType,

.

    verifyParams.dwMsgAndCertEncodingType = CryptoConstants.X509_ASN_ENCODING | CryptoConstants.PKCS_7_ASN_ENCODING;

.

     cpMessageParams.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;

.

        public uint dwMsgAndCertEncodingType;

shlwapi

.

                            DontShowMeThisDialogAgain

imm32

.

          UInt32 dwMode,  

netapi32

.

        string lpNewMachineName,

.

lpNewMachineName - (in) Pointer to a constant string that specifies the new name of the computer. If specified, the local computer name is changed as well. If this parameter is NULL, the function assumes you have already called the SetComputerNameEx function.

.

        string lpNewMachineName,

.

There is a possible way via the WMI ManagementClass - see:

.

WMI can do this sort of thing (the System.Management namespace in .Net 2.0)

.

If you want to find the user logged in to the workstation, consider instead a WMI query ("select UserName from Win32_ComputerSystem"), which has certain advantages (runs faster, less ambigious results, doesn't require Interop if using .Net 2.0 System.Management namespace, etc.)

ws2_32

.

    public int dwMessageSize;

winspool

.

    Public wMonth As Short

.

    Public wMinute As Short

.

    Public wMilliseconds As Short

.

    pinvokeResult = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero,

.

        pinvokeResult = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero,

.

Turns out that there are some clever and powerful tools in Visual Studio 2005 and 2008 for working with the Management Classes (although couldn’t find it in the “Standard Edition” installed on this machine, definitely exists in my laptop’s Visual Studio). You can use Server Explorer to navigate a treeview to your management class (in this example, the Printers node), right-click on it and select “Generate Managed Class”. This will automagically create a strongly-typed C#.Net class representing the object model of the WMI Printers Class, with all its properties and methods.

user32

.

An application sends the WM_MDIICONARRANGE message to the multiple-document interface (MDI) client window to prompt the client window to arrange its minimized MDI child windows.

.

static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, WM wParam, [In]KBDLLHOOKSTRUCT lParam);

.

static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, WM wParam, [In]MSLLHOOKSTRUCT lParam);

.

static extern TODO ChangeWindowMessageFilter(USER32)(TODO);

.

Declare Function ChangeWindowMessageFilter(USER32) Lib "user32.dll" (TODO) As TODO

.
Documentation
ChangeWindowMessageFilter(USER32)@msdn on MSDN
.

public static extern bool ChangeWindowMessageFilterEx(IntPtr hWnd, uint msg, ChangeWindowMessageFilterExAction action,ref CHANGEFILTERSTRUCT changeInfo);

.

Private Shared Function ChangeWindowMessageFilterEx(hWnd As IntPtr, msg As UInteger, action As ChangeWindowMessageFilterExAction, ByRef changeInfo As CHANGEFILTERSTRUCT) As <MarshalAs(UnmanagedType.Bool)> Boolean

.

    public enum ChangeWindowMessageFilterExAction : uint

.

    Private Enum ChangeWindowMessageFilterExAction As UInteger

.

    Private Enum ChangeWindowMessageFilterFlags As UInteger

.

ChangeWindowMessageFilterEx(Handle,_message,ChangeWindowMessageFilterExAction.Allow, IntPtr.Zero);

.

        ChangeWindowMessageFilterEx(Handle,_message,ChangeWindowMessageFilterExAction.Allow, ref filterStatus);

.
Documentation
[ChangeWindowMessageFilterEx] on MSDN
.

Windows allows only one caret per message queue. To add a caret to a control, handle the WM_SETFOCUS message, or the GotFocus event, or override OnGotFocus if you're writing a custom control, and call CreateCaret from the message or event handler. You should also handle WM_KILLFOCUS, LostFocus or OnLostFocus and call DestroyCaret. You will also need to call ShowCaret to make the caret visible, and SetCaretPos to set its position.

.

    public const uint WM_DRAWITEM = 0x002b;

.

    public const uint WM_MEASUREITEM = 0x002c;

.

/// <param name="hInstance">Handle to the instance of the module to be associated with the window.</param> <param name="lpParam">Pointer to a value to be passed to the window through the CREATESTRUCT structure (lpCreateParams member) pointed to by the lParam param of the WM_CREATE message. This message is sent to the created window by this function before it returns.

.

/// <item>if one of the controls in the dialog template is not registered, or its window window procedure fails WM_CREATE or WM_NCCREATE</item>

.

''' <param name="hInstance">Handle to the instance of the module to be associated with the window.</param> <param name="lpParam">Pointer to a value to be passed to the window through the CREATESTRUCT structure (lpCreateParams member) pointed to by the lParam param of the WM_CREATE message. This message is sent to the created window by this function before it returns.

.

''' <item>if one of the controls in the dialog template is not registered, or its window window procedure fails WM_CREATE or WM_NCCREATE</item>

.

When you call this function, the WndProc function must respond to the WM_NCCREATE message by returning TRUE. If it does not, the creation process will fail. A null handle will be returned from CreateWindowEx and GetLastError will return 0. See MSDN on WM_NCCREATE (http://msdn.microsoft.com/en-us/library/ms632635.aspx) and also WM_CREATE (http://msdn.microsoft.com/en-us/library/ms632619.aspx). You can have your WndProc call DefWindowProc, which will take care of this issue.

.

                switch ((WM)message)

.

                    case WM.PAINT:

.

                    case WM.DESTROY:

.

                return Win32.DefWindowProc(hWnd, (WM)message, wParam, lParam);

.

    ///<Summary>Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed.</Summary>

.

    ///<Summary>Prevents the window from receiving the WM_WINDOWPOSCHANGING message.</Summary>

.

    '''<Summary>Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed.</Summary>

.

    '''<Summary>Prevents the window from receiving the WM_WINDOWPOSCHANGING message.</Summary>

.

/// <para>The DestroyWindow function destroys the specified window. The function sends WM_DESTROY and WM_NCDESTROY messages to the window to deactivate it and remove the keyboard focus from it. The function also destroys the window's menu, flushes the thread message queue, destroys timers, removes clipboard ownership, and breaks the clipboard viewer chain (if the window is at the top of the viewer chain).</para>

.

''' <para>The DestroyWindow function destroys the specified window. The function sends WM_DESTROY and WM_NCDESTROY messages to the window to deactivate it and remove the keyboard focus from it. The function also destroys the window's menu, flushes the thread message queue, destroys timers, removes clipboard ownership, and breaks the clipboard viewer chain (if the window is at the top of the viewer chain).</para>

.
Summary
.

static extern bool DrawMenuBar(IntPtr hWnd);

.

    static extern bool DrawMenuBar(IntPtr hWnd);

.

              DrawMenuBar(frm.Handle);

.
Documentation
[DrawMenuBar] on MSDN
.

    private const UInt32 WM_CLOSE = 0x0010;

.

            // Try closing application by sending WM_CLOSE to all child windows in all threads.

.

        PostMessage(hWnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);

.

   Private Const WM_CLOSE As UInt32 = &H10

.

       ' Try closing application by sending WM_CLOSE to all child windows in all threads.

.

     PostMessage(hWnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero)

.

    static extern bool DrawMenuBar(IntPtr hWnd);

.

              DrawMenuBar(frm.Handle);

.

Sendmessage(hwndMain, WM_COMMAND, intMID,  0) 'Click the MenuItem!

.

        if (m.Msg == (int)WindowMessages.RawInput)  // WindowMessages.RawInput = 0x00FF (WM_INPUT)

.

Sendmessage(hwndMain, WM_COMMAND, intMID,  0) 'Click the MenuItem!

.

    static extern bool DrawMenuBar(IntPtr hWnd);

.

              DrawMenuBar(frm.Handle);

.

    static extern bool DrawMenuBar(IntPtr hWnd);

.

        DrawMenuBar(handle);

.
Summary
.

static extern uint GetWindowModuleFileName(IntPtr hwnd,

.

  Private Shared Function GetWindowModuleFileName(hwnd As IntPtr, _

.

GetWindowModuleFileName(hwnd, fileName, 2000);

.
Documentation
[GetWindowModuleFileName] on MSDN
.

    const UInt32 SW_SHOWMINIMIZED =    2;

.

    const UInt32 SW_SHOWMAXIMIZED =    3;

.

    const UInt32 SW_SHOWMINNOACTIVE =  7;

.

///     WM_GETTEXTLENGTH message to be sent to the specified window or control.<br />Under certain conditions, the

.

///     <br />To obtain the exact length of the text, use the WM_GETTEXT, LB_GETTEXT, or CB_GETLBTEXT messages, or the

.

    <MarshalAs(UnmanagedType.U4)> ByVal dwMilliseconds as Int32, _

.

     Byval prmdwMiliseconds as Long _

.

dwMilliseconds

.

Messagebox wont time out if dwMilliseconds is 0

.

   uint dwMilliseconds, uint dwWakeMask, uint dwFlags);

.

                ByVal dwMilliseconds As Integer, _

.

        int dwMilliseconds,

.

   uint dwMilliseconds, uint dwWakeMask, uint dwFlags);

.

                ByVal dwMilliseconds As Integer, _

.

static extern bool PeekMessage(out NativeMessage lpMsg, HandleRef hWnd, uint wMsgFilterMin,

.

   uint wMsgFilterMax, uint wRemoveMsg);

.

Based off of Tom Miller's blog. Modified to comply with VS.Net 2005 static code analysis (i.e. proper MarshalAs attributes) and eliminate the refrence to WindowMessage.

.

MSDN recommends using PostQuitMessage over PostMessage when you want to send WM_QUIT http://msdn.microsoft.com/en-us/library/ms632641%28v=vs.85%29.aspx

.
Summary
Enables your app to receive the WM_POWERBROADCAST window message, which notifies applications about power management events
.

       private const int WM_POWERBROADCAST = 0x0218;

.

        if (msg == WM_POWERBROADCAST && wParam.ToInt32() == PBT_POWERSETTINGCHANGE)

.
Summary
.

///     The <see cref="RegisterWindowMessage" /> function is typically used to register messages for communicating between

.

///     <see cref="RegisterWindowMessage" /> when more than one application must process the same message.For sending

.

///     private messages within a window class, an application can use any integer in the range WM_USER through 0x7FFF.

.

/// static extern uint RegisterWindowMessage(string lpString);

.

///      queryCancelAutoPlay = RegisterWindowMessage("QueryCancelAutoPlay");

.

static extern uint RegisterWindowMessage(string lpString);

.

Private Shared Function RegisterWindowMessage( _

.

class method RegisterWindowMessage(lpString: String): UInt32; external;

.

Declare Function RegisterWindowMessage Lib "user32.dll" (ByVal lpString As String) As Integer

.

    DllImport("user32.dll", EntryPoint = "RegisterWindowMessageW", SetLastError = true)]

.

    private static extern int RegisterWindowMessage(string lpString);

.

Declare Function RegisterWindowMessage Lib "user32.dll" Alias "RegisterWindowMessageW" (ByVal lpString As long) As Integer

.

    lngWindowMsg = RegisterWindowMessage(StrPtr(strMessageToRegister))

.

If you use RegisterWindowMessage("QueryCancelAutoPlay") it will NOT work, put the "QueryCancelAutoPlay" in a variable or constant and use that one.

.

    MessageID = RegisterWindowMessage("QueryCancelAutoPlay")

.

lMsg = Win32.RegisterWindowMessage("WM_HTML_GETOBJECT");

.

static extern uint RegisterWindowMessage(string lpString);

.

        queryCancelAutoPlay = RegisterWindowMessage("QueryCancelAutoPlay");

.
Documentation
[RegisterWindowMessage] on MSDN
.

    Public Const WM_NCLBUTTONDOWN As Integer = &HA1

.

        SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0)

.

private const int WM_SYSCOMMAND = 0x112;

.

   SendMessage(ctrl.Handle, WM_SYSCOMMAND, MOUSE_MOVE, ref nul);

.

    static extern bool DrawMenuBar(IntPtr hWnd);

.

              DrawMenuBar(frm.Handle);

.

      UInt32 wMsg,

.

        UInt32 wMsg,

.

        UInt32 wMsg,

.

    private const uint WM_USER      = 0x0400;

.

    private const uint SB_SETPARTS      = WM_USER + 4;

.

    private const uint SB_GETPARTS      = WM_USER + 6;

.

    private const uint SB_GETTEXTLENGTH = WM_USER + 12;

.

    private const uint SB_GETTEXT       = WM_USER + 13;

.

/// If SW_INVALIDATE, don't send WM_ERASEBACKGROUND.

.

   [testing.windows]::SetForegroundWindow( @( Get-Process notepad |? { $_.id -in @( get-wmiobject win32_process -filter "name='notepad.exe'" |% { if ( $_.getowner().user -eq $env:username ) { $_.processid } } ) } )[0].MainWindowHandle)

.

/* Version specifically setup for use with WM_GETTEXT message */

.

    int Msg,              // Use WM_GETTEXT

.

/* Version for a message which returns an int, such as WM_GETTEXTLENGTH. */

.

lMsg = Win32.RegisterWindowMessage("WM_HTML_GETOBJECT");

.

C# WM_GETTEXTLENGTH example

.

const uint WM_GETTEXTLENGTH = 0x000E;

.

    int result = SendMessageTimeout(hwnd, WM_GETTEXTLENGTH, 0, 0, 0X2C, 5, out length); //0X2C = SMTO_ABORTIFHUNG | SMTO_BLOCK | SMTO_NOTIMEOUTIFNOTHUNG | SMTO_ERRORONEXIT

.

/* Version specifically setup for use with WM_GETTEXT message */

.

    int Msg,              // Use WM_GETTEXT

.

lMsg = Win32.RegisterWindowMessage("WM_HTML_GETOBJECT");

.

        case (0x0001): // WM_CREATE

.

        case (0x0002): // WM_DESTROY

.

        case (0x030D): // WM_CHANGECBCHAIN

.

        case (0x0308): // WM_DRAWCLIPBOARD

.

    Dim dwMajorVersion As Integer

.

    Dim dwMinorVersion As Integer

.

    const int WM_SYSCOMMAND = 274;

.

    SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);

.

/// <para>Before a window is destroyed (that is, before it returns from processing the WM_NCDESTROY message), an application must remove all entries it has added to the property list. The application must use the RemoveProp function to remove the entries.</para>

.

Use the version that takes an IntPtr as last parameter and pass it IntPtr.Zero if you are going to handle the WM_TIMER message in your own override of WndProc.

.

Use the version that takes a delegate as last parameter if you don't explicitly handle the WM_TIMER message or if you don't override WndProc. In that case DefWndProc will invoke your callback when the time-out value elapses.

Cut off search results after 60. Please refine your search.


 
Access PInvoke.net directly from VS: