Як відключити Alt + Tab в грі
З простий програмою все просто - SystemParametersInfo (SPI_SCREENSAVERRUNNING, 1, 0, 0). але ось з грою, що використовує DirectX (точніше DirectInput) не працює - все одно можна переключитися на інший додаток. Може хто-небудь знає, як вирішити проблему?
Не раджу відключати зовсім цю фішку. особливо при створенні гри. зависне і що будеш робити. )
To [1]
Ну якщо вже на те пішло, то код можна (читай "потрібно") при налагодженні закоментіровать.
Ніколи не роби цього, одні проблеми у користувачів будуть. Ні в чат переключитися не дає, або раптом терміново чогось потрібно куданибудь залити, доводиться з гри виходити, а потім запускати, що не їсти гуд, чекати вивантаження / завантаження пів години.
У Цивілізації 3 так зроблено, і в Call of Duty, вобще не можна згорнути гру.
Краще зроби нормальну обробку цієї події, як зробили по-людськи в Варкрафт 3 і в CC Generals.
Я хотів зробити нормальну обробку, але глючить - якраз частенько при виході з Alt + Tab і висне! І ніяк не виходить вирішити біду. До речі, так зроблено ще і в Q3A і Serious Sam, так нічого страшного. Я пишу хоч і не шашки, а й не таку гру, щоб чекати по пів години її завантаження / розвантаження. На худий кінець можна зберегтися, а потім завантажити.
> Ні в чат переключитися не дає
Нічого собі, граю в CnC Generals, вийшов на хвилинку, кинув слівце, і тому! Ось в цій грі точно потрібно чекати по пів години :)
> Нічого собі, граю в CnC Generals, вийшов на хвилинку, кинув
> Слівце, і тому! Ось в цій грі точно потрібно чекати по
> Пів години :)
Оперативки у тебе скільки, мтеров 128? судячи з відкликання :), у мене 384, нормально перемикається, секунд 5-10 напевно почекати.
Краще вже знайди глюки і виправ, ніж так незграбно їх прикривати.
Оперативки 256, але і 10 секунд чекати влом :)
А щодо Глюка, дик не ловиться гад ніяк! Пишу іграшку на PD, подивився всі вихідні з комплекту, які начебто не глючат - там той-же код! Єдина відмінність в тому, що у мене все розрахунки в OnRealTime, а там - в OnProcess. Але я не хочу Сува код в OnProcess!
А суть Глюка така: натискаю Alt + Tab, завдання перемикається, але гра з екрану не зникає (і нічого там не рухається, напевно тому, що таймер вирубується при втраті фокуса - так задумано), натискаю Alt + F4, щоб закрити сусідську (для мене невидиму) завдання, гра знову стає активною :) Пробував Сува код згортання форми при її деактивації, а легше не стає. Ще більша біда в тому, що відсотків 30 від спроб перейти закінчуються вдало :)) Що це таке.
Знає хтось код сабжа. )
> В Цивілізації 3 так зроблено
в цивілізації три тулиться кнопка win (ДЗЗСЄ) і вискакує таскбар і старт меню, нуо проблеми.
> Кнопка win (ДЗЗСЄ)
Не у всіх така кнопка є =) Я навіть знаю таких людей.
> Не у всіх така кнопка є =) Я навіть знаю таких людей.
Ну тоді Ctrl + Esc