1 (изменено: sergeant.coolagin, 2011-10-28 21:52:10)

Тема: Растянуть окно в ок. режиме на весь экран и убрать рамку

В общем, надо данное приложение в оконном режиме растянуть на весь экран и убрать рамку.
Вот информация про приложение:
http://i30.fastpic.ru/thumb/2011/1028/2c/c080be7962285a2300b8af0205bceb2c.jpeg
Проблемы, которые у меня возникают с #IfWinActive в данном приложении я описал тут:
http://forum.script-coding.com/viewtopic.php?id=6378

Вот скрипт, который работал в других играх, но не работает должным образом в данном приложении:

#Persistent
 #SingleInstance Off
 DetectHiddenWindows, Off ;поиск в скрытых окнах
 SetTitleMatchMode 2 ;

 mywin := "Battlefield 3" ; название окна (можно любое приложение или окно)
 interval := 0 

 SetTimer, FrWin, 1000
 return

 #NoEnv



 FrWin:
 IfWinActive, %mywin%
 {
 WinMove, %mywin%,, 0, 0, 2048, 1152 ; параметры окна: x, y, w, h (выставляйте свое разрешение экрана)
 WinSet, Style, -0xC00000, %mywin% ; убрать рамку
 }
 return

Это не мой скрипт, и я не очень понимаю принцип его работы. Вот как он работает у меня в данном приложении:
http://i30.fastpic.ru/thumb/2011/1028/d4/b42a7cc766d83d0acf0c39fa39ba91d4.jpeg
Как можно заметить, рамка убирается, но не полностью. В других приложениях рамка убиралась полностью. С этим скриптом приложение в оконном режиме должно выглядеть точно так же как и в полноэкранном:
http://i28.fastpic.ru/thumb/2011/1028/31/af0b584fe79d567e36dc339957e9f731.jpeg
Т.е. абсолютно без рамки. В других приложениях данный скрипт работает правильно т.е. запускает абсолютно без рамки, точно так же как и в полноэкранном режиме.

Помогите мне, пожалуйста, написать скрипт, чтобы приложение работало абсолютно без рамки. Не могу сам разобраться.

2 (изменено: xripper, 2011-10-29 15:52:55)

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

Попробуй это

#Persistent                                        ; скрипт всегда запущен
w = 1280
h = 1024                                                      ; устанавливаем нужные размеры окна программы

LOOP
{
Process, Exist,  bf3.exe *32                         ; проверка на существование процесса, 
                                                                 ; если процесс есть то его PID будет помещен в Errorlevel иначе там будет 0
If Errorlevel                                                ; если Errorlevel отличен от нуля, то исполняется нижняя секция
 {
  SetTitleMatchMode, 2                                 ; окно в полноэкранный режим
  WinGet Style, Style, A
  WinGetPos, X, Y, Width, Height, A
  WinSet, Style, -0xC40000, A
  WinMove,A,,0,0,w,h
else
 {
  sleep 100                                                 ; если ничего не запущено, то ждем (милисекунд)
 }
}

Окно без запущеного скрипта:
https://lh4.googleusercontent.com/-UWSd … orders.jpg
Окно при работающем скрипте:
https://lh4.googleusercontent.com/-lR6E … orders.jpg

3

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

sergeant.coolagin пишет:

Помогите мне, пожалуйста, написать скрипт, чтобы приложение работало абсолютно без рамки. Не могу сам разобраться.

Тут два варианта:
1) Попробовать совсем убрать рамку, для этого посмотреть какие стили есть у целевого окна(например, программой spy++).
2) Вынести рамку за экран, т.е. вместо

WinMove, %mywin%,, 0, 0, 2048, 1152

написать

BorderSize:=3
WinMove, %mywin%,, -BorderSize, -BorderSize, 2048+2*BorderSize, 1152+2*BorderSize

4

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

Использую второй вариант. Работает. Спасибо.

5 (изменено: Remelibo, 2014-08-20 07:09:21)

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

Огромное спасибо за этот превосходный скрипт, пользуюсь им и уже давно. Но время идёт, потребности меняются... Раньше только убирал рамку, а сейчас очень захотелось сделать картинку в том же Skyrim получше в плане сглаживания (в 4К рендерить, например - железо справляется). Думаю, знаете про функцию в ARMA III, Battlefield 4, когда при разрешении, например, Full HD, рендерит картинку с большим разрешением - хотелось бы такое со Skyrim'ом провернуть, да и вообще применить такой полезный скрипт к чему угодно можно! Помогите, пожалуйста, в реализации, сам я не по части скриптов...

6

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

А AHK тут причём? В самой игре и выставить графику для 4К, а скрипт из этого поста использовать для ресайза под свой монитор.

7

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

Drugoy, в игре выставить не проблема, что я успешно и делал через ini конфиг в итоге получая на экране то, что в него влезло, т.е. 1/4. Как раз задача заресайзить, в меньшую сторону, а вот как. Я пользовался скриптом из шапки + поправка Александра:

#Persistent
 #SingleInstance Off
 DetectHiddenWindows, Off ;поиск в скрытых окнах
 SetTitleMatchMode 2 ;

 mywin := "Skyrim" ; название окна (можно любое приложение или окно)
 interval := 0 

 SetTimer, FrWin, 1000
 return

 #NoEnv



 FrWin:
 IfWinActive, %mywin%
 {
BorderSize:=0
WinMove, %mywin%,, -BorderSize, -BorderSize, 1920+2*BorderSize, 1080+2*BorderSize
 WinSet, Style, -0xC00000, %mywin% ; убрать рамку
 }
 return

Как заресайзить в меньшую сторону не знаю, подскажите, если нетрудно. А скрипт от xripper, не работает, копирую от и до и лишь прописываю SKyrim.exe и разрешение (не работает и в исходном виде), AHK пишет:

Error: Missing"}"
Line*    
002    w= 1920
003    h = 1080
005    Loop
006    f
007    Pro с ess. Exist, Skyrim.exe "32
009    if Errorlevel
010    f
011    SetTitleMatchMode,2
012    Win Get Style, Style, A
013    WinGetPos,X,Y,Width,Height,A
014    WinSetStyle,-0xC40000,A
The program will exit.

8

Re: Растянуть окно в ок. режиме на весь экран и убрать рамку

Я варспир растягиваю так

F11:: WinMaximize