windows10 下 舊系列東方STG 全屏工具 (windows10 一週年版以及以後版本下僅適用於 東方紅魔鄉)
2016/8/17 更新
windows10 一週年更新 已經解決了全屏帶邊框問題,對於 東方紅魔鄉 以外的東方STG遊戲,此工具已作廢
此工具目前僅用於解決 東方紅魔鄉 幀數飛起問題
以下為舊的———
在 windows10 解決 舊系列東方STG 全屏帶邊框問題
已測試
東方紅魔鄉
東方妖妖夢
東方花映冢
本程式用於處理在 win10 系統下 舊系列的東方STG 全屏後帶邊框的問題
同時能解決 東方紅魔鄉 全屏後幀數飛起問題
如果你的遊戲全屏正常,請不要使用此程式
使用說明
1.啟動本程式
2.使用 custom.exe 設定為視窗模式,或者,進入東方遊戲,並且設定為視窗模式
3.進入 東方STG 遊戲介面
4.然後按下鍵盤上的 F11 鍵
5.邊框消失了!愉快地擦彈吧!
按下 Delete 或 關掉本程式的視窗 自動退出 全屏模式 和 本程式
注意事項
程式啟動後,不要在非遊戲介面亂按 F11鍵,不然出什麼問題不關我事。。。。
如果無效,請嘗試右鍵以管理員許可權啟動本程式,一般不會這樣,除非你設定了 以相容模式啟動 遊戲
程式版本:1.0”
本程式開源,原始碼無限制自由修改使用
作者:ONE_SIX_MIX
完整程式碼
#include <Windows.h>
#include <iostream>
#include <string>
using namespace std;
HHOOK keyboardHook = 0;
HANDLE exitEvent = 0;
unsigned long long ignoreRepeatedKeysInShortTime = 0; //忽略短時間內的重複擊鍵
LRESULT CALLBACK HookCallback(int code, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT *ks = (KBDLLHOOKSTRUCT*)lParam;
if (ks->vkCode == VK_F11)
{
HWND w = GetForegroundWindow();
char str[260] ={0};
GetWindowTextA(w, str, 259);
//避免對偵錯程式產生影響
if(string(str).find("Visual Studio") != string::npos)
return CallNextHookEx(0, code, wParam, lParam);
//一般在獲取系統視窗控制代碼時會獲取失敗
if (w == 0)
{
cout << "得到視窗控制代碼失敗" << endl;
return CallNextHookEx(0, code, wParam, lParam);
}
//忽略短時間的重複按鍵
{
if ((GetTickCount64() - ignoreRepeatedKeysInShortTime - 3000) < ignoreRepeatedKeysInShortTime)
{
return 1;
}
ignoreRepeatedKeysInShortTime = GetTickCount64();
}
//選擇最佳解析度,解析度儘可能大
UINT width = GetSystemMetrics(SM_CXSCREEN);
UINT height = GetSystemMetrics(SM_CYSCREEN);
{
if (width >= 1280 && height >= 1024)
{
//這個好,東方紺珠傳 的解析度
width = 1280;
height = 1024;
}
else if(width >= 1024 && height >= 768)
{
width = 1024;
height = 768;
}
else
{
width = 640;
height = 480;
}
}
LONG style = GetWindowLongA(w, GWL_STYLE); //獲得視窗風格
style &= ~(WS_CAPTION | WS_SIZEBOX); //去除視窗標題和可調節風格,視窗全屏顯示且不可改變大小
style = SetWindowLongA(w, GWL_STYLE, style); //設定視窗風格
DEVMODE dm ={0};
dm.dmSize = sizeof(dm);
dm.dmPelsWidth = width;
dm.dmPelsHeight = height;
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
auto ret = ChangeDisplaySettingsA(&dm, CDS_FULLSCREEN);
if (ret != DISP_CHANGE_SUCCESSFUL)
cout << "全屏切換失敗" << endl;
SetWindowPos(w, HWND_NOTOPMOST, 0, 0, 1280, 1024, 0);
return 1;
}
else if (ks->vkCode == 'P')
{
//test
HWND w = GetForegroundWindow();
if (w == 0)
{
cout << "得到視窗控制代碼失敗" << endl;
return CallNextHookEx(0, code, wParam, lParam);
}
char str[260] ={0};
GetWindowTextA(w, str, 259);
cout << "視窗標題:" << str << endl;
RECT r ={0};
GetWindowRect(w, &r);
cout << "x:" << r.left << endl << "y:" << r.top << endl << "cx:" << r.right << endl << "cy:" << r.bottom << endl;
UINT width = GetSystemMetrics(SM_CXSCREEN);
UINT height = GetSystemMetrics(SM_CYSCREEN);
cout << "當前螢幕解析度:" << width << "x" << height << endl << endl;
return CallNextHookEx(0, code, wParam, lParam);
}
else if(ks->vkCode == VK_DELETE)
{
SetEvent(exitEvent);
return 1;
}
return CallNextHookEx(0, code, wParam, lParam);
}
int main()
{
exitEvent = CreateEventA(0, FALSE, FALSE, 0);
keyboardHook = SetWindowsHookExA(WH_KEYBOARD_LL, HookCallback, GetModuleHandleA(0), 0);
if (keyboardHook == 0)
{
cout << "掛鉤鍵盤失敗" << endl;
cout << "按下回車鍵結束" << endl;
getchar();
return -1;
}
cout << "程式正常執行" << endl << endl;
//說明檔案
{
cout << "本程式用於處理在 win10 系統下 舊系列的東方STG 全屏後帶邊框的問題" << endl;
cout << "同時能解決 東方紅魔鄉 全屏後幀數飛起問題" << endl;
cout << "如果你的遊戲全屏正常,請不要使用此程式"<< endl << endl;
cout << "使用說明:" << endl;
cout << "1.啟動本程式" << endl;
cout << "2.使用 custom.exe 設定為視窗模式,或者,進入東方遊戲,並且設定為視窗模式" << endl;
cout << "3.進入 東方STG 遊戲介面" << endl;
cout << "4.然後按下鍵盤上的 F11 鍵" << endl;
cout << "5.邊框消失了!愉快地擦彈吧!" << endl << endl;
cout << "按下 Delete 或 關掉本程式的視窗 自動退出 全屏模式 和 本程式" << endl << endl;
cout << "注意事項" << endl;
cout << "程式啟動後,不要在非遊戲介面亂按 F11鍵,不然出什麼問題不關我事。。。。" << endl;
cout << "如果無效,請嘗試右鍵以管理員許可權啟動本程式,一般不會這樣,除非你設定了 以相容模式啟動 遊戲" << endl << endl;
cout << "程式版本:1.0" << endl;
cout << "本程式開源,原始碼無限制自由修改使用" << endl;
cout << "作者:ONE_SIX_MIX" << endl << endl;
}
MSG msg;
do
{
if (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessageW(&msg);
}
else
{
if (WaitForSingleObject(exitEvent, 1) == WAIT_OBJECT_0)
break;
}
} while (msg.message != WM_QUIT);
UnhookWindowsHookEx(keyboardHook);
cout << "程式正常退出" << endl;
return 0;
}
相關推薦
windows10 下 舊系列東方STG 全屏工具 (windows10 一週年版以及以後版本下僅適用於 東方紅魔鄉)
2016/8/17 更新 windows10 一週年更新 已經解決了全屏帶邊框問題,對於 東方紅魔鄉 以外的東方STG遊戲,此工具已作廢 此工具目前僅用於解決 東方紅魔鄉 幀數飛起問題 以下為舊的——— 在 windows10 解決 舊系列東方STG 全
使用Chrome-headless模式下,截圖不全屏的問題
在headless模式下,是沒有開啟瀏覽器視窗的,那麼driver.maximize_window(),找不到目標也打不開。 我們可以換一種方式,去在無頭模式下,指定瀏覽器的視窗大小執行即可。 __options = Options() __options.add_argum
01.LoT.UI 前後臺通用框架分解系列之——小圖片背景全屏顯示(可自動切換背景)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><
手機移動端視訊全屏播放(相容Android與iOS)
在做移動端專案時,做個視訊播放是不可避免的,大部分情況下都是點選一個按鈕,視訊全屏播放,下面將對這個情況進行分析與記錄。 html: <video height="100%" id="videoPlay1" playsinline preload="auto" sr
js實現網頁全屏切換(平滑過渡),滑鼠滾動切換
實現效果為頁面平滑過渡全屏切換,點選導航和滑鼠滾動都可以切換。 效果圖: 程式碼: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8">
錨點全屏滾動(jQuery)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <
android全屏問題(隱藏虛擬按鍵)
android4.0沒有真正的全屏顯示,控制面板隱藏不了,唯一能做的,就是將控制鍵改成三個小圓點。 具體的做大是在add layout之後,然後呼叫如下的程式碼: enterLightsOutMode(getWindow()); public static void en
html5 js 實現瀏覽器全屏效果(F11)
最近專案中需要瀏覽器全屏的效果、我查了很多資料、終於、找到了一段程式碼、說是能相容google chrome 15 +, safri5.1+,firfox10+,IE11支援 、我只試驗了火狐可以、360、以及IE8是沒有成功滴、下面給大家發下程式碼
Linux下KVM的圖形界面管理工具(virt-manager)(桌面版)
工具 .html mage 使用 get pre shel viso 而且 背景: virt-manager是用於管理KVM虛擬環境的主要工具,virt-manager默認設置下需要使用root用戶才能夠使用該工具。當你想在KVM hypervisor服務器上托管虛擬機,
Linux下KVM的圖形界面管理工具(WebVirtMgr)(Web版)
查看 sta bsp 創建 ron span rac post tsp WebVirtMgr面板 截圖 介紹 WebVirtMgr是一個基於libvirt的Web界面,用於管理虛擬機。它允許您創建和配置新域,並調整域的資源分
《文言文復興系列 6 無問西東》(江湖一劍客)
觀聽之,每當令汝沮,世俗頑強,強至生不出易之意。然若得預知, 汝之生,知青春不過惟此日,不知卿等有意世願意也。 願君被擊時,憶汝之珍,拒抗惡意;願君迷時,信子之珍,愛卿所愛,行其所行,聽汝之心,無問西東。 此世界缺之非完人,而自心之心,正義,無畏與矜。 以其屬忙,得之為穩,非
linux驅動由淺入深系列:usb子系統之三(usb系統中的裝置、配置、介面、端點概念及程式碼解釋)
一個usb裝置對應一個或多個配置 一個配置包含一個或多個usb介面 一個usb介面可能存在一種或多種設定 一個設定會使用零個或多個usb端點裝置 裝置就是一個usb物理裝置,一個usb裝置可以只包含一個簡單功能的device,也可以包含一個由hub連線的多個裝置,叫作複合裝
Linux下四款Web伺服器壓力測試工具(http_load、webbench、ab、siege)介紹
一、http_load程式非常小,解壓後也不到100Khttp_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。下載地址:http://sof
Docker系列七: 使用Humpback管理工具管理容器(一款UI管理工具)
密碼 宿主機 數據庫 賬號 賬號密碼 管理 調度 監聽 快捷 Humpback 可以幫助企業快速搭建輕量級的 Docker 容器雲管理平臺,若將你的 Docker 主機接入到 Humpback 平臺中,就能夠為你帶來更快捷穩定的容器操作體驗。 功能特點 Web操作,簡單
Qt編寫GIF錄屏工具(開源)
開發十年,就只剩下這套架構體系了! >>>
Vim在圖形環境下全屏產生黑邊
OS div 分享圖片 界面 http AC 可能 屏幕寬度 情況下 在終端中運行Vim或運行GVim都會遇到這個問題,當窗口全屏時,左右和底部可能會出現邊框,這個邊框在終端中的Vim表現為Terminal的背景顏色。下圖為SpaceVim+Neovim+Terminal的
winform下實現pictureBox全屏播放
char top 最終 項目 window eve wpa user using 最近開發一個項目,需要通過雙擊pictureBox實現全屏的功能,網上查找資料,加上一點摸索,最終實現了。做一下記錄,以備以後需要。 主要功能都在下面這個類裏面 1 using Syst
chrome 下視頻全屏播放後自定義控件無法使用的問題探究
視頻 enc .cn java change 應該 自己的 視頻格式 code chrome 63 升級到 64 後,我司旗下產品 講堂 出現了一個說大不大說小不小的 bug:自定義控件在全屏模式下失效了。 將代碼簡化如下: <html> <body>
解決音訊在ios環境下播放會全屏的bug方法
網頁設計在移動端的時候,會出現播放自動全屏的效果的,說實在這個問題還是蠻棘手的,以下為次bug的解決方法: <audio id="video" preload="none" class="hide video" width="0" height="0"></audio>
react-native ScrollView 實現上拉滑動全屏,下拉恢復原先大小
ScrollView 系列的都可以完成, 比如 FlatView 和 SectionList 都可以。 1 需求 大概就是一個 scroll 元件向上滑動的時候可以完全展示出來。完全展示之後下滑再恢復縮小時的高度。 1.1需求分析 縮小時不允許滾動