• 締切済み

【至急お願いします】hspについてです。・・・・

hspについてです。至急お願いします。 下記のソースをhspに記述しました。すると、windowsなんですが画面が5cmくらいに、小さくなって何もできません。今、教えてgooで質問しているのは、なんとかセーフモードで起ち上げております。 至急回答お願いします ソース #uselib "user32.dll" #cfunc EnumDisplaySettings "EnumDisplaySettingsA" int,int,var #cfunc ChangeDisplaySettings "ChangeDisplaySettingsA" var,int #define CDS_UPDATEREGISTRY 0x01 *main dim DevMode,44 sdim DevModeAll,15600 sdim data,1024 //グラフィックモードの情報取得(100個まで) repeat 100 if(EnumDisplaySettings(0,cnt,DevMode)==0) : break data+=""+DevMode(27)+" * "+DevMode(28) data+=" : "+DevMode(26)+"Bitn" memcpy DevModeAll,DevMode,156,cnt*156 loop //ウィンドウと各オブジェクト作成 screen 0,300,320 title "グラフィックモード変更サンプル" pos 0, 0:objsize 300,20 button gosub "変更",*ChangeDisplay pos 0,20:objsize 300,300 listbox l,0,data stop //グラフィックモードの変更 *ChangeDisplay memcpy DevMode,DevModeAll,156,0,l*156 ret=ChangeDisplaySettings(DevMode,CDS_UPDATEREGISTRY) return コピペなのでサイトも載せます。 http://blog.goo.ne.jp/hiro239415/m/200703 どうか、至急ご回答宜しくお願い致します。 ちなみに、 os windows7 64bit

みんなの回答

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.1

実は私はHSPが少しわかるだけで、Windows APIはほどんどわからないのですが・・・ (HSPというよりはWindows APIの話なので・・・) #define CDS_UPDATEREGISTRY 0x01 ChangeDisplaySettings(DevMode,CDS_UPDATEREGISTRY) となっているので、不適切な解像度変更の情報がレジストリに書き込まれてしまったものと思われます。 「5cmくらい」の画面で解像度変更はできないでしょうか?おそらく質問者様も試行された上でのご質問なのでしょうね。 あとは手元にWindows7がないのでわかりませんがセーフモードで解像度を変更できるかもしれません。 それでだめならシステムの復元です。プログラムを実行して画面表示がだめになってしまった時点より前の復元ポイントを選んで復元してみてください。

関連するQ&A