1

今回は、Bash および Batch スクリプトで作成する方法がわからない

1 - 現在の解像度を検出する

2 - その解決策をレジストリ キーに書き込みます。

3 - 「dword」のすべての解像度がわからない、誰かが私を助けてくれる:10 、 25:16 、 60:29 、 72:35 、任意

たとえば、「Bash」スクリプトの「No Windows SO」の下にWineを使用します。このようなより実用的な使用法 - >

A - たとえば、Linux で現在の解像度を取得する ->

echo `xrandr --current | grep current | awk '{print $8}'` >> Resolution1
echo `xrandr --current | grep current | awk '{print $10}'` >> Resolution2
cat Resolution2 | sed -i 's/,//g' Resolution2
P1Resolution=$(cat Resolution1)
P2Resolution=$(cat Resolution2)
rm Resolution1 Resolution2
echo "$P1Resolution"'x'"$P2Resolution" >> Resolution
Resolution=$(cat Resolution)
rm Resolution

B - 「Warcraft 3」や「Ragnarok Classic International」などのレジストリ ファイルを作成します。

ウォークラフト3 :->

if      [ $Resolution = "640x480" ]; then
echo "REGEDIT4" >> video.reg
echo "" >> video.reg
echo "[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III\Video]" >> video.reg
echo '"resHEIGHT"=dword:000001e0' >> video.reg
echo '"resWIDTH"=dword:00000280' >> video.reg

# Add ResolutionRate
echo '"ResolutionRatehrate"=dword:00000046' >> video.reg
regedit -s video.reg

    elif    [ $Resolution = "800x600" ]; then
echo "REGEDIT4" >> video.reg
echo "" >> video.reg
echo "[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III\Video]" >> video.reg
echo '"resHEIGHT"=dword:00000258' >> video.reg
echo '"resWIDTH"=dword:00000320' >> video.reg

# Add ResolutionRate
echo '"ResolutionRatehrate"=dword:00000046' >> video.reg
regedit -s video.reg

    elif    [ $Resolution = "1024x768" ]; then
echo "REGEDIT4" >> video.reg
echo "" >> video.reg
echo "[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III\Video]" >> video.reg
echo '"resHEIGHT"=dword:00000300' >> video.reg
echo '"resWIDTH"=dword:00000400' >> video.reg

# Add ResolutionRate
echo '"ResolutionRatehrate"=dword:00000046' >> video.reg
regedit -s video.reg
rm -rf video.reg
else
    echo "Unknow Resolution"
fi

さてさて、ラグナロク・インターナショナルで :->

if          [ $Resolution = "640x480" ]; then
echo "REGEDIT4" >> video.reg
echo "" >> video.reg
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Gravity Soft\Ragnarok]" >> video.reg
echo '"HEIGHT="=dword:000001e0' >> video.reg
echo '"WIDTH"=dword:00000280' >> video.reg
regedit -s video.reg

    elif    [ $Resolution = "800x600" ]; then
echo "REGEDIT4" >> video.reg
echo "" >> video.reg
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Gravity Soft\Ragnarok]" >> video.reg
echo '"HEIGHT"=dword:00000258' >> video.reg
echo '"WIDTH"=dword:00000320' >> video.reg
regedit -s video.reg

    elif    [ $Resolution = "1024x768" ]; then
echo "REGEDIT4" >> video.reg
echo "" >> video.reg
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Gravity Soft\Ragnarok]" >> video.reg
echo '"HEIGHT"=dword:00000300' >> video.reg
echo '"WIDTH"=dword:00000400' >> video.reg
regedit -s video.reg
rm -rf video.reg

else
    echo "Unknow Resolution"
fi

ネイティブの「Windows」の下で「現在の解像度」を取得できる場所から、Bash で正常に動作し、現在は Batch で動作するオーキー???

バッチ スクリプトの一部は、次のようになります。

Warcraft 3 :->

@echo off

color A
title Automatic Resolution Setup

set key1=HKEY_CURRENT_USER\Software\Blizzard Entertainment\
set key2=HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III
set key3=HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III\Video

reg delete "%key1%" /f
reg add "%key1%" /f
reg add "%key2%" /f
reg add "%key3%" /f
reg add "%key3%" /t REG_DWORD /v reswidth /d %CURRENT_WIDTH% /f
reg add "%key3%" /t REG_DWORD /v reshieght /d %CURRENT_HEIGHT% /f

ラグナロク インターナショナル :->

@echo off
color A
title Automatic Resolution Setup
set key=HKEY_LOCAL_MACHINE\SOFTWARE\Gravity Soft\Ragnarok
reg delete "%key%" /f
reg add "%key% /f
reg add "%key%" /t REG_DWORD /v WIDTH /d %CURRENT_WIDTH% /f
reg add "%key%" /t REG_DWORD /v HEIGHT /d %CURRENT_HEIGHT% /f

考えられるすべての解決策を知る必要があります。次のことを知っているだけです->

#640x480  -> "(res)WIDTH"=dword:00000280 "(res)HEIGHT"=dword:000001e0
#800x600  -> "(res)WIDTH"=dword:00000320 "(res)HEIGHT"=dword:00000258
#1024x768 -> "(res)WIDTH"=dword:00000400 "(res)HEIGHT"=dword:00000300
#1280×768 –> "(res)WIDTH"=dword:00000500 "(res)HEIGHT"=dword:00000300 
#1280×800 –> "(res)WIDTH"=dword:00000500 "(res)HEIGHT"=dword:00000320 
#1360×768 –> "(res)WIDTH"=dword:00000550 "(res)HEIGHT"=dword:00000300 
#1440×900 –> "(res)WIDTH"=dword:000005A0 "(res)HEIGHT"=dword:00000384

さて、現在の解像度を決定するために「バッチスクリプト」を使用して、ネイティブウィンドウの下で「高さ」と「幅」の値を取得するにはどうすればよいですか???

誰かが私のスクリプトで私を助けることができます plz ???

4

2 に答える 2