Windows Programm nur als Icon

Hallo,

ich suche den C-Quellcode eines Windows-Programmes das lediglich als Icon dargestellt wird und beim Anklicken eine Funktion ausführen soll.
Ich denke die Lösung liegt in dieser Funktion, speziell bei style

static BOOL InitApplication(void)
{
 WNDCLASS wc;

 memset(&wc,0,sizeof(WNDCLASS));
 wc.style = CS\_HREDRAW|CS\_VREDRAW |CS\_DBLCLKS ;
 wc.lpfnWndProc = (WNDPROC)MainWndProc;
 wc.hInstance = hInst;
 wc.hbrBackground = (HBRUSH)(COLOR\_WINDOW+1);
 wc.lpszClassName = 'paontopWndClass';
 wc.lpszMenuName = MAKEINTRESOURCE(IDMAINMENU);
 wc.hCursor = LoadCursor(NULL,IDC\_ARROW);
 wc.hIcon = LoadIcon(NULL,IDI\_APPLICATION);
 if (!RegisterClass(&wc))
 return 0;
 return 1;
}

Kann mir hier jemand helfen?

Danke schon mal vorab
Ben

_[MOD:

-Tags hinzugefügt - in Zukunft bitte selbst machen]_ 

Moin,

ich suche den C-Quellcode eines Windows-Programmes das
lediglich als Icon dargestellt wird und beim Anklicken eine
Funktion ausführen soll.

Werden unter Windows Programme nicht per Default als Icon dargestellt? Und wenn man sie anklickt, werden sie gestartet?
Dann müsstest du gar nichts machen.

Oder meinst du, dass das Programm zu einem Icon in der „Taskbar notification area“ werden soll?

Grüße,
Moritz

Hallo Moritz,

wenn ich das richtig interpretiere wäre „Taskbar notification area“ schon geschickt. Mein Hintergrund ist das „hervorholen“ aller Fenster einer bestimmten Anwendung. Das bedeutet ich hole mir die Handles aller Fenster und bringe sie, je nach Caption in den Vordergrund oder evt. auch nicht.
Dazu brauche ich einen Knopf, der möglichst in der Taskleiste sichtbart ist.

Grüße
Ben

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dazu brauche ich einen Knopf, der möglichst in der Taskleiste
sichtbart ist.

Moin!

Reicht da nicht ein ‚normales‘ Programm, wobei du dann eine Verknüpfung in der Schnellstartleiste anlegst? Programm starten, das führt die Aktionen durch und beendet sich wieder!?
Wenn es nicht sichtbar sein soll, dann erstellst du einfach eine Applikation ohne Fenster.

mfg

Hallo mfg, :wink:

Hört sich gut an!
Wie erstelle ich eine Applikation ohne Fenster?
Meine Windows-Programmierkenntnisse sind von 1991, Windows 3.1, also schon a bissle länger her…
Ich bin über jede Hilfe dankbar und den Petzold hab ich auch schon bestellt *lach* aber wie alles im Leben…es eilt…

Gruß
Ben

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin!

Wenn ich das richtig sehe, dann programmierst du auf Win32-API Basis. Du hast da eine Funktion InitAppliction in deiner ursprünglichen Frage. Lass in dieser Funktion einfach alles weg, was mit der Initialisierung/Darstellung des Fensters zu tun hat… Wenn du kein Fenster haben willst, dann erstellst du es einfach nicht :smile:
Im Grunde reicht dir die WinMain (unter der Annahme Win32-Api) als Einsprungpunkt und dann programmierst du nur deine Sachen mit der Zustandsänderung ‚externer‘ Fenster, wenn ich dich richtig verstanden habe.

mfg

lucas_d :smile:

Moin,

ich weiß ja nicht, wie sehr du in der Windows-Programmierung drin steckst, aber es ist ja nicht immer ganz einfach. Wenn es nicht unbedingt mit c/c++ sein muss, würde ich dir einfach mal AutoIt ans Herz legen wollen. Bietet ziemlich einfachen Zugang und viele Funktionen, um Dinge zu automatisieren. Aus den Skripten lässt sich anschließend auch per Knopfdruck eine exe erstellen, wenn das gewünscht ist.

Hier ein Link zu der Seite, bzw. zu der Auflistung der Funktionen. Interessant für dich wären wohl WinList(), WinGetTitle(), WinMaximize()… Schau es dir einfach mal an.

http://www.autoitscript.com/autoit3/docs/functions.htm

mfg

lucas_d

Vielen Dank an alle, die mir hier so schnell geholfen haben.
Ich habe das so gelöst, dass ich jetzt einfach ein Fensterle aufmache und auf Click in den Fensterbereich reagiere.
Das reicht und funktioniert prima.

Danke nochmal.
Ben

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]