unsichtbare anwedung...
-
Was ist ???
Also so richtig weißt Du nicht, was Du willst, oder??Siehe:
- wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
2. kein icon in der taskleiste (auch nicht im systray) ?
- Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagieren.Bedeutet also folgendes: Ich will mir keinen Fernseher kaufen, aber trotzdem abends zu Hause TVTotal schauen, wie mach ich das?
-
Original erstellt von RenéG:
**Was ist ???
Also so richtig weißt Du nicht, was Du willst, oder??Siehe:
Bedeutet also folgendes: Ich will mir keinen Fernseher kaufen, aber trotzdem abends zu Hause TVTotal schauen, wie mach ich das?**Mit einer TV-Karte!
...nee Spaß beiseite...
- wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
2. kein icon in der taskleiste (auch nicht im systray) ?
- Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagierenIch würde mir ein kleines Progg basteln(Win32) und es per "Geplante Tasks" starten...
-
Ich würde mir ein kleines Progg basteln(Win32) und es per "Geplante Tasks" starten...
geht leider nicht da es auch unter nt 4 laufen soll und es dort sowas nicht gibt.
- wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
2. kein icon in der taskleiste (auch nicht im systray) ?
- Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagieren.Ich will ein Dialog nicht sichtbar und nicht in der Taskleiste. Wiso geht beides nicht??
<:D> Hi!
Schau dir mal folgenden Beitrag an:
http://f25.parsimony.net/forum63133/messages/2833.htmhat diesen link gepostet und dort wurde eine Möglichkeit beschrieben die bei mir nicht funkts.
Gibt es keine weitere Möglichkeit z.B. mit der win api ???
-
@Deadmaker_HUNTER:
Timer lassen sich auch ohne Dialog-Klasse programmieren.
-
ich glaube hier liegt irgendwie eine verwechslung vor
ich bin nicht "< >"
frag mich auch was er hier im thread will
ich checke erstmal cpp_junky's version
thx4help bis hierhin
-
Cpp_Junky Timer lassen sich auch ohne Dialog-Klasse programmieren.
finde kein WM_TIMER Ereigniss bei der App
Deadmaker_HUNTER frag mich auch was er hier im thread will
naja wuzu ein neues Thread aufmachen wenn in dem hier das Thema ist das ich suche??
-
Das kann man sich doch ganz schnell selberschreiben. Versuchs mal mit GetTickCount(); Das ganze musst du dann nur in Minuten/Stunden/wasauchimmer umrechnen. Such im Internet nach Timer-Klassen! Es gibt mit Sicherheit noch mehr Alternativen.
-
Ich hab jetzt den Code aus dem Beispiel im FAQ benutzt, aber hab das problem, dass sich die anwendung kurz nach dem start selber beendet
und ich kann auch nicht alles in InitInstance machen, weil ich einen CAsyncSocket oder CSocket benutze.
-
Ich hab mir auchmal sowas erstellt:
//In InitInstance CxxxDlg dlg; m_pMainWnd = &dlg; dlg.Create(IDD_XXX_DIALOG); dlg.ProcessMessages();
Dann der CxxxDlg die Funktion ProcessMessages hinzufügen:
void ProcessMessages() { MSG m_msgCur; while(GetMessage(&m_msgCur, NULL, NULL, NULL)) { if (!PreTranslateMessage(&m_msgCur)) { TranslateMessage(&m_msgCur); DispatchMessage(&m_msgCur); } }; }
Nun kannst wie bei einem normalen Dialog WM_Timer hinzufügen. Bei Close etc musst du aber DestroyWindow aufrufen und nicht die CDialog::Onxxx() !
-
in InitInstance() m_pMainWnd = new CMainFrame(); m_pMainWnd->ShowWindow(SW_HIDE); m_pMainWnd->UpdateWindow(); CMainFrame::CMainFrame() { RECT r; r.left = 0; r.top = 0; r.right = 0; r.bottom = 0; Create( NULL, "Simple Nonvisible MFC App", WS_EX_TOOLWINDOW, r, NULL, NULL, 0, NULL ); }
Noch besser ist jedoch direkt WinAPI (MFC unsichtbar macht wenig Sinn):
#include <windows.h> unsigned int HotKeyID1 = 100; unsigned int HotKeyID2 = 101; LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_HOTKEY: if(wParam == HotKeyID1) MessageBox(hwnd, "Alt+Shift+F11 wurde gedrückt." , "Nachricht WM_HOTKEY wurde erzeugt.", MB_OK); if(wParam == HotKeyID2) MessageBox(hwnd, "Alt+Shift+F12 wurde gedrückt." , "Nachricht WM_HOTKEY wurde erzeugt.", MB_OK); return 0; case WM_DESTROY: PostQuitMessage (0); return 0; } return DefWindowProc (hwnd, message, wParam, lParam); } int WINAPI WinMain (HINSTANCE hI, HINSTANCE hPrI, PSTR szCmdLine, int iCmdShow) { char szName[] = "MeineKlasse"; HBRUSH MyBrush = CreateSolidBrush( RGB( 0, 150, 255 ) ); WNDCLASS wc; MSG msg; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hI; wc.hIcon = LoadIcon (NULL, IDI_WINLOGO); wc.hCursor = 0; wc.hbrBackground = MyBrush; wc.lpszMenuName = NULL; wc.lpszClassName = szName; RegisterClass (&wc); HWND hwnd = CreateWindowEx (WS_EX_TOOLWINDOW, szName, "", 0 , 0, 0, 0, 0, NULL, NULL, hI, NULL); RegisterHotKey(hwnd, HotKeyID1, MOD_ALT | MOD_SHIFT, VK_F11); RegisterHotKey(hwnd, HotKeyID2, MOD_ALT | MOD_SHIFT, VK_F12); ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; }
-
-
Schau mal in die FAQ unter Programm als Service
-
Ich würde auch direkt Winapi vorschlagen, und dann halt auf WM_TIMER reagieren, falls du irgendwelche MFC-Klassen verwendest, kannst du ja trozdem die passenden Headers einbinden.