chgdis (Win9x XP)
ײ݂Ɏw肵ĉʉ𑜓xύXB

chgdis.exe [𑜓x] [گڰ]

Fchgdis.exe 800x600
 chgdis.exe 1024x768 75hz
 chgdis.exe 60hz

گڰĂw肵Ȃ60hzɐݒ肳悤łB

\[Ẍꕔ(C++Builder)
 if(ParamCount()==0){
  Application->MessageBox("chgdir.exe Resolution\n\nex) chgdir.exe 800x600","chgdis",MB_OK);
  Application->Terminate();return;}
 int i,a,w=-1,h,hz=-1;AnsiString pa;
 try{
  for(i=1;i<=ParamCount();i++){
   pa=ParamStr(i).LowerCase();
   if((a=pa.AnsiPos("x"))>0){
    w=StrToInt(pa.SubString(1,a-1));
    pa.Delete(1,a);
    h=StrToInt(pa);}
   if((a=pa.AnsiPos("hz"))>0){
    hz=StrToInt(pa.SubString(1,a-1));}
   }}
 catch(...){
  Application->MessageBox("Ұװ","chgdis",MB_OK);
  Application->Terminate();return;}

/* Memo1->Lines->Add(IntToStr(hz));Memo1->Lines->Add(IntToStr(w)+"x"+IntToStr(h));return;*/
 static DEVMODE devmode;
 ZeroMemory(&devmode,sizeof(devmode));
 devmode.dmSize=sizeof(devmode);
 if(w!=-1){devmode.dmPelsWidth=w;
  devmode.dmPelsHeight=h;
  devmode.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT;}
 if(hz!=-1){devmode.dmDisplayFrequency=hz;
  devmode.dmFields|=DM_DISPLAYFREQUENCY;}

switch(ChangeDisplaySettings(&devmode,0)){//CDS_FULLSCREEN
 case DISP_CHANGE_SUCCESSFUL:
  break;
 case DISP_CHANGE_RESTART:
  Application->MessageBox("ċNKvł","chgdis",MB_OK);
  break;
 default:// s
  Application->MessageBox("ύXװ","chgdis",MB_OK);
  break;}
 Application->Terminate();

2008/08/01 1.0 ذ
2008/08/04 1.1 گڰĕύXɑΉ

------------------
http://ni.10-59.com
kinue@bd.wakwak.com
------------------
