Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#130

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 11. Mai 2005, 14:51
Zu CreateActCtx:
Zitat von Microsoft:
If the function succeeds, it returns a handle to the returned activation context. Otherwise, it returns INVALID_HANDLE_VALUE.
INVALID_HANDLE_VALUE ist -1, 1400 ist ERROR_INVALID_WINDOW_HANDLE.

Da SHMessageBoxCheck() nur ein Wrapper für SHMessageBoxCheckEx() ist, hatte ich heute morgen mit der Ex-Version gespielt. Dabei habe ich festgestellt, dass unter SP1 die Dialog-Resourcen 305 und 4608 in SHLWAPI.DLL unvollständig sind und irre Werte aufweisen:

Code:
4608 DIALOG 0, 2496, -28472, 7
STYLE DS_ABSALIGN | WS_ICONICPOPUP | WS_MINIMIZE | WS_VISIBLE | WS_DISABLED | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_MAXIMIZE | WS_CAPTION | WS_VSCROLL | WS_HSCROLL | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
CAPTION "Ò7"
{
}
Wenn man spätere Versionen untersucht ergibt sich ein besseres Bild:

Code:
4608 DIALOG 0, 0, 210, 55
STYLE DS_MODALFRAME | DS_NOIDLEMSG | 0x8L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Error!"
FONT 8, "MS Shell Dlg"
{
 CONTROL 0, 4611, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 5, 5, 18, 20
 CONTROL "", 4609, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 5, 200, 8
 CONTROL "&In the future, do not show me this dialog box", 4610, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 5, 20, 155, 10
 CONTROL "OK", 1, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 95, 35, 50, 14
 CONTROL "Cancel", 2, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 150, 35, 50, 14
 CONTROL "&Yes", 6, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 95, 35, 50, 14
 CONTROL "&No", 7, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 150, 35, 50, 14
}
Bis vor kurzem dachte ich damit die Erklärung für die fehlende Anzeige des Dialogs zu haben, aber wenn durch hinzufügen des Manifests der Dialog angezeigt wird, dann weiß ich auch nicht.
  Mit Zitat antworten Zitat