Проект не хочет компилиться
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
LARGE_INTEGER liDueTime;
liDueTime.QuadPart=-50000000;
HANDLE hTimer=CreateWaitableTimer(NULL, TRUE, NULL);
SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, 0);
WaitForSingleObject(hTimer, INFINITE);
keybd_event(VK_MENU, 0, 0, 0 );
keybd_event(VK_RETURN, 0, 0, 0 );
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0 );
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0 );
}
Говорит, что функции CreateWaitableTimer и SetWaitableTimer не объявлены!!! Юзаю VisualStudio .NET!!! Я подозреваю, что ошибка кроется в Winbase.h!!!
Буду благодарен за откомпиленную версиюю!!!
Цитата:
Originally posted by Stanky
Кто-нидь может мне объяснить в чём проблема?
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
LARGE_INTEGER liDueTime;
liDueTime.QuadPart=-50000000;
HANDLE hTimer=CreateWaitableTimer(NULL, TRUE, NULL);
SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, 0);
WaitForSingleObject(hTimer, INFINITE);
keybd_event(VK_MENU, 0, 0, 0 );
keybd_event(VK_RETURN, 0, 0, 0 );
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0 );
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0 );
}
Говорит, что функции CreateWaitableTimer и SetWaitableTimer не объявлены!!! Юзаю VisualStudio .NET!!! Я подозреваю, что ошибка кроется в Winbase.h!!!
Буду благодарен за откомпиленную версиюю!!!
Кто-нидь может мне объяснить в чём проблема?
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
LARGE_INTEGER liDueTime;
liDueTime.QuadPart=-50000000;
HANDLE hTimer=CreateWaitableTimer(NULL, TRUE, NULL);
SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, 0);
WaitForSingleObject(hTimer, INFINITE);
keybd_event(VK_MENU, 0, 0, 0 );
keybd_event(VK_RETURN, 0, 0, 0 );
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0 );
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0 );
}
Говорит, что функции CreateWaitableTimer и SetWaitableTimer не объявлены!!! Юзаю VisualStudio .NET!!! Я подозреваю, что ошибка кроется в Winbase.h!!!
Буду благодарен за откомпиленную версиюю!!!
To compile an application that uses this function, define the _WIN32_WINNT macro as 0x0400 or later.
посмотри в stdafx.h как определено.
у меня стоит еще #include <time.h>, но может это для других функций, не помню точно.
Цитата:
Originally posted by xelos
To compile an application that uses this function, define the _WIN32_WINNT macro as 0x0400 or later.
посмотри в stdafx.h как определено.
у меня стоит еще #include <time.h>, но может это для других функций, не помню точно.
To compile an application that uses this function, define the _WIN32_WINNT macro as 0x0400 or later.
посмотри в stdafx.h как определено.
у меня стоит еще #include <time.h>, но может это для других функций, не помню точно.
Да, надо перед включением windows.h определить макрос
#define _WIN32_WINNT 0x0400
А вот time.h здесь не нужен. Это заголовок из C Runtime Library. Там объявлены функции time(), ctime() и прочее.
Цитата:
Originally posted by srd
Да, надо перед включением windows.h определить макрос
#define _WIN32_WINNT 0x0400
Да, надо перед включением windows.h определить макрос
#define _WIN32_WINNT 0x0400
А объяснение этому? В MSDN'е я этого не видел!!!
Цитата:
Originally posted by Stanky
А объяснение этому? В MSDN'е я этого не видел!!!
А объяснение этому? В MSDN'е я этого не видел!!!
есть, смотри лучше, цитату на аглицком я из мсдн взял.
Цитата:
Originally posted by Stanky
А объяснение этому? В MSDN'е я этого не видел!!!
А объяснение этому? В MSDN'е я этого не видел!!!
Потому что данные функции не реализованы в Windows 95 и в MSDN об этом написано. Если ты ориентируешься на Windows 98/ME, то здесь грамотнее будет определить макрос
#define _WIN32_WINDOWS 0x0410
вместо _WIN32_WINNT
Всем огромнейший тхенкс!!!