Программа автоматического закрытия для каждого разрешения

Я программист-энтузиаст, и я только начал с некоторых базовых, которые мой друг научил меня. (Такие вещи, как: ‘keybd_event (VK_SHIFT, 0, 0, 0);’ и X ++;
SetCursorPos (X, Y);
Сон (1);)
Но у меня проблема с моей программой, я хочу сделать свою программу для каждого разрешения экрана. Не только для моего 1600х900. Я пробовал много вещей как «GetDesktopResolution (горизонтальный, вертикальный);» и «GetWindowRect», но это не помогло. Я сделал код для своего разрешения, и это сработало, но то, что я набрал, не может работать с людьми, у которых есть 1910×1075 или что-то подобное. Поэтому я хочу, чтобы он автоматически определял экран, запускал программу и выключал компьютер. Самая большая проблема заключается в том, чтобы отцентрировать мою мышь, чтобы она могла перейти к середине X-длины, а затем к середине Y-длины. Вот мой код для моего разрешения (1600×900):

int main()
{
while (X < 800)
{
X++;
SetCursorPos(X, Y);
Sleep(1);
}
while (X < 450)
{
Y++;
SetCursorPos(X, Y);
Sleep(1);
}
while (X < 1600)
{
X++;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y < 900)
{
Y++;
SetCursorPos(X, Y);
Sleep(1);
}
while (X > 800)
{
X--;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y > 450)
{
Y--;
SetCursorPos(X, Y);
Sleep(1);
}
while (X > 1)
{
X--;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y > 1)
{
Y--;
SetCursorPos(X, Y);
Sleep(1);`enter code here`
}
while (X < 1589)
{
X++;
SetCursorPos(X, Y);
Sleep(1);
}
void left_click()
;
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //Clicks to close program
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
while (X < 800)
{
X++;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y < 450)
{
Y++;
SetCursorPos(X, Y);
Sleep(1);
}
while (X < 1600)
{
X++;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y < 900)
{
Y++;
SetCursorPos(X, Y);
Sleep(1);
}
while (X > 800)
{
X--;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y > 450)
{
Y--;
SetCursorPos(X, Y);
Sleep(1);
}
while (X > 1)
{
X--;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y > 1)
{
Y--;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y < 900)
{
Y++;
SetCursorPos(X, Y);
Sleep(1);
}
void right_click()
;
{
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0); //Right clicks on windows icon
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
}
while (Y > 862)
{
Y--;
SetCursorPos(X, Y);
Sleep(1);
}
while (X < 378)
{
X++;
SetCursorPos(X, Y);
Sleep(1);
}
while (Y > 835)
{
Y--;
SetCursorPos(X, Y);
Sleep(1);
}
void left_click()
;
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //Clicks on Shut Down
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
}

Спасибо за помощь!!!

0

Решение

Для получения размеров экрана в MSWindows вы можете использовать функцию GetDeviceCaps https://msdn.microsoft.com/en-us/library/windows/desktop/dd144877(v=vs.85).aspx

0

Другие решения

Других решений пока нет …