1. 程式人生 > >windows10 下 舊系列東方STG 全屏工具 (windows10 一週年版以及以後版本下僅適用於 東方紅魔鄉)

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是沒有成功滴、下面給大家發下程式碼

LinuxKVM的圖形界面管理工具virt-manager桌面

工具 .html mage 使用 get pre shel viso 而且 背景: virt-manager是用於管理KVM虛擬環境的主要工具,virt-manager默認設置下需要使用root用戶才能夠使用該工具。當你想在KVM hypervisor服務器上托管虛擬機,

LinuxKVM的圖形界面管理工具WebVirtMgrWeb

查看 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需求分析 縮小時不允許滾動