Решил собрать свою Win32-прогу под Wine.
Вот текст:
***** main.cpp *****
#define _WIN32_WINNT 0x0501
#include <windows.h>
#include <cstdio>
#include "resource.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE hInstance;
char szClassname[256];
enum Class {
A,
B,
C
} cls;
WPARAM GlobalWparamForSendMsg;
UINT GlobalMsgForSendMsg;
BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
SendMessage(hWnd, GlobalMsgForSendMsg, GlobalWparamForSendMsg, lParam);
return TRUE;
}
void SendMessageToAllWindows(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
GlobalWparamForSendMsg = wParam;
GlobalMsgForSendMsg = uMsg;
EnumWindows(EnumWindowsProc, lParam);
}
int WINAPI WinMain(
HINSTANCE hInst,
HINSTANCE hPrevInst,
PSTR szCmdLine,
int nShowCmd)
{
if (strcmp(szCmdLine, "A") == 0) {
cls = A;
} else if (strcmp(szCmdLine, "B") == 0) {
cls = B;
} else if (strcmp(szCmdLine, "C") == 0) {
cls = C;
} else {
MessageBox(NULL, "Invalid class specified in command-line! Must be either A, B or C.", "Error!", MB_ICONERROR);
return 1;
}
char szWindowName[128];
sprintf(szWindowName, "Class %s", szCmdLine);
strcpy(szClassname, szCmdLine);
hInstance = hInst;
WNDCLASSEX wc;
wc.cbSize = sizeof(wc);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInst;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_WINDOW);
wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
wc.lpszClassName = szCmdLine;
wc.hIconSm = NULL;
ATOM Status = RegisterClassEx(&wc);
HWND hWnd;
hWnd = CreateWindow(
szCmdLine,
szWindowName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
400,
300,
NULL,
NULL,
hInst,
NULL
);
ShowWindow(hWnd, nShowCmd);
UpdateWindow(hWnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return static_cast<int>(msg.wParam);
}





Ответ на:
комментарий
от Ivanz
Ответ на:
комментарий
от e
Ответ на:
комментарий
от e
Ответ на:
комментарий
от anonymous
2 ноября 2006 г.
Ответ на:
комментарий
от Ivanz

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум wine умеет немного больше или Win32 кросплатформенный api (2019)
- Форум using FLTK (2018)
- Форум Класс для работы с очередью (2005)
- Форум nfqueue вытащить данные пакете (2012)
- Форум GLib проблема с потоками GMainLoop (2014)
- Форум Производительность AF_PACKET RAW и AF_INET SOCK_STREAM сокетов в ядре. (2010)
- Форум POSIX таймеры (2011)
- Форум Можно ли подружить glubuild2dmipmaps и qt? (2022)
- Форум Кейлоггер. Как получить символ из кода клавиши? (2024)
- Форум Не работает блюр на верхней панели js (2025)