-Поиск по дневнику

Поиск сообщений в SeriWolk

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 15.09.2006
Записей: 171
Комментариев: 129
Написано: 593


Исходник

Воскресенье, 02 Января 2011 г. 14:32 + в цитатник

#include <windows.h>
#include <iostream>
#include <exception>
#include "resource.h"

HWND hList=NULL;
HINSTANCE hInstance;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{

    HWND hWnd;
    MSG msg;
    WNDCLASS w;

    memset(&w, 0, sizeof(WNDCLASS));

    w.style = CS_HREDRAW | CS_VREDRAW;
    w.lpfnWndProc = WndProc;
    w.hInstance = hInstance;
    w.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    w.lpszClassName = L"My Class";
 w.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);

    RegisterClass(&w);
    hWnd = CreateWindow(L"My Class", L"Notepad Status", WS_OVERLAPPEDWINDOW,
        200, 200, 200, 200, NULL, NULL, hInstance, NULL);
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);

    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
  return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
 static HDC hdc;
 PAINTSTRUCT ps;
 static int x, y;
 static BOOL bTracking = FALSE;

    switch (Message){
 
 case WM_CREATE:
  hdc = GetDC(hWnd);
  hList=CreateWindowEx(WS_EX_CLIENTEDGE,L"LISTBOX",L"",LBS_STANDARD|LBS_NOINTEGRALHEIGHT|WS_CHILD|WS_VISIBLE,10,10,150,100,hWnd,(HMENU)101,hInstance,NULL);
  break;

 case WM_COMMAND:
  switch(LOWORD(wParam)){
   case ID_MENU_TEST2:
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory(&si,sizeof(STARTUPINFO));
    ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
    si.cb=sizeof(STARTUPINFO);
    si.dwFlags=STARTF_USESHOWWINDOW;
    si.wShowWindow=SW_SHOWNORMAL;
    CreateProcess(L"C:\\Program Files\\Counter-Strike 2D\\CounterStrike2D.exe",NULL,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
    WaitForInputIdle(GetCurrentProcess(),INFINITE);

    if(pi.hProcess){
     DWORD dwExitCode=STILL_ACTIVE;
     while(dwExitCode==STILL_ACTIVE){
      WaitForSingleObject(pi.hProcess,3000);
      GetExitCodeProcess(pi.hProcess,&dwExitCode);
      SendMessage(hList,LB_INSERTSTRING,0,(LPARAM)L"CS2D is running");
      UpdateWindow(hWnd);
     }
    }

    break;
  }
  break;

 case WM_LBUTTONDOWN:
  bTracking = TRUE;
  x = LOWORD(lParam); //lo - low
  y = HIWORD(lParam); //hi - high
  MoveToEx(hdc, x, y, NULL);
  break;
 
 case WM_LBUTTONUP:
  if(bTracking){
   bTracking = FALSE;
  }
  break;

 case WM_MOUSEMOVE:
  if(bTracking){
   x = LOWORD(lParam);
   y = HIWORD(lParam);
   LineTo(hdc, y, x);
  }
  break;

    case WM_DESTROY:
        PostQuitMessage(0);
        break;

    default:
        return DefWindowProc(hWnd, Message, wParam, lParam);
    }
    return 0;
}
 


Понравилось: 23 пользователям

Аноним   обратиться по имени Понедельник, 09 Июля 2018 г. 13:11 (ссылка)
+
Ответить С цитатой В цитатник
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку