Hallo vor langer Zeit sah ich ein Programm in C++, die eine Schaltfläche erstellt und in der oberen linken Ecke des Desktops angedockt, so dass der Desktop selbst wurde angepasst, um die neue Kontrolle. Aber ich habe vergessen, welche API der Typ benutzt hat.Win32 C/C++ fügen Sie eine Schaltfläche zum Desktop
Weiß jemand, worüber ich spreche oder habe ich irgendwelche Erfahrungen mit dem Zeichnen von Steuerelementen auf dem Desktop?
Danke.
PS: Ich brauche nur die APIs
#include <windows.h>
#include <stdio.h>
#pragma comment(lib,"user32.lib")
#include <shellapi.h>
void pumpMsg(MSG * msg){
while(GetMessage(msg,0,0,0) != 0)
{
TranslateMessage(msg);
DispatchMessage(msg);
}
}
WNDPROC oldProc = 0;
HWND hWnd = 0;
APPBARDATA abd = {0};
BOOL CALLBACK dlgProc(HWND hwnd, UINT msg, WPARAM wpar, LPARAM lpar)
{
if(msg==WM_COMMAND)
{
if(wpar==100)
{
puts("Called");
SendMessage(hwnd,WM_CLOSE,0,0);
}
}
if(msg==WM_CLOSE || msg==WM_QUIT)
{
SHAppBarMessage(ABM_REMOVE, &abd);
EndDialog(hwnd,1);
}
CallWindowProc(oldProc,hwnd,msg,wpar,lpar);
}
int main(int argc, char *argv[])
{
MSG msg = {0};
DWORD style = WS_VISIBLE|WS_SYSMENU;
hWnd = CreateWindowEx(0,WC_DIALOG,"",style,2,2,400,400,0,0,GetModuleHandle(0),0);
__asm mov ebx, eax
abd.cbSize = sizeof(APPBARDATA);
abd.hWnd = hWnd;
SHAppBarMessage(ABM_NEW, &abd);
abd.rc.top = 0;
abd.rc.left = 0;
abd.rc.right = GetSystemMetrics(SM_CXSCREEN);
abd.rc.bottom = abd.rc.top + 60;
abd.uEdge = ABE_TOP;
SHAppBarMessage(ABM_QUERYPOS, &abd);
SHAppBarMessage(ABM_SETPOS, &abd);
abd.lParam = TRUE;
SHAppBarMessage(ABM_ACTIVATE, &abd);
MoveWindow(hWnd, abd.rc.left, abd.rc.top, abd.rc.right - abd.rc.left, abd.rc.bottom - abd.rc.top, TRUE);
CreateWindowEx(0,"button","button",WS_BORDER|WS_CHILD|WS_VISIBLE,2,10,40,40,hWnd,(HMENU)100,GetModuleHandle(0),0);
__asm{
push dlgProc
push GWL_WNDPROC
push ebx
call [SetWindowLong]
mov [oldProc], eax
}
DWORD tid = 0;
// CreateThread(0,0,&Timer,0,0,&tid);
pumpMsg(&msg);
return 0;
}
Ahh! Ja ! Danke, das wäre es. – TheRealChx101
Ok. Uuhm, ich schaue mir die Beispiele online an und die meisten von ihnen fügen keine Steuerelemente hinzu, es endet einfach schwarz. Weißt du zufällig, wie man ein einfaches Steuerelement wie eine Schaltfläche hinzufügt? Danke – TheRealChx101
Sie können setzen, was Sie wollen, in Ihrer Appbar. Wenn du einen Knopf drücken willst, klopfe dich aus. –