Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: "Тихушные" программы
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
muravei
Те прграммы , где живет только процесс, иконка в трее , тыркнув которую можно открыть окно и изменить настройки итд.
И как они правильно называются. Типа, антивирусы , счетчики траффика итд.
Да , для Вин.
_pv
CODE
#include <stdio.h>
#include <windows.h>
#include <time.h>

NOTIFYICONDATA id;

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) {
case WM_DESTROY:
Shell_NotifyIcon(NIM_DELETE, &id); // This removes the icon
break;

case WM_USER + 1: // Mouse action occured over the sys tray icon
switch (lParam) {
case WM_LBUTTONUP: // Left button clicked
//Click code here
break;
}
return TRUE;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}

int CALLBACK WinMain(__in HINSTANCE hInstance, __in HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nCmdShow){
WNDCLASS Wc;
Wc.style = 0;
Wc.lpfnWndProc = WndProc;
Wc.cbClsExtra = 0;
Wc.cbWndExtra = 0;
Wc.hInstance = NULL;
Wc.hIcon = NULL;
Wc.hCursor = NULL;
Wc.hbrBackground = NULL;
Wc.lpszMenuName = NULL;
Wc.lpszClassName = "HIDDENWINDOW";
RegisterClass(&Wc);
HWND hWnd = CreateWindow("HIDDENWINDOW", "Hidden Window", 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
id.cbSize = sizeof(NOTIFYICONDATA);
id.hIcon = LoadIcon(NULL, IDI_QUESTION);
id.hWnd = hWnd;
strcpy(id.szTip, "");
id.uFlags = NIF_ICON | NIF_TIP;
Shell_NotifyIcon(NIM_ADD, &id);


while (1){
sprintf_s(id.szTip, 16, "%d", GetTickCounter());
Shell_NotifyIcon(NIM_MODIFY, &id);
Sleep(1000);
}
return 0;
}
muravei
Спасибо.
Лаконично, однако.
Я все понял, кроме одного- где спрятана лощадь?
rolleyes.gif
Куда вставить установку таймера, и где ловятся его сообщения?

В принципе разобрался...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.