必须要用API,因为我是用API写的程序

解决方案 »

  1.   

    showmessage('屏幕分辨率:'+inttostr(screen.Width)+'X'+inttostr(screen.Height))
      

  2.   

    procedure SetRes(XRes, YRes: DWord); 
    varlpDevMode : TDeviceMode;beginEnumDisplaySettings(nil, 0, lpDevMode);lpDevMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;lpDevMode.dmPelsWidth:=XRes;lpDevMode.dmPelsHeight:=YRes;ChangeDisplaySettings(lpDevMode, 0);end;
      

  3.   

    搞错了,上面是设置的,取直接改成
    XRes:=lpDevMode.dmPelsWidth;YRes:=lpDevMode.dmPelsHeight;
      

  4.   

    搞错了,我是想问 获得当前屏幕的分辨率 比如 800*600   还是1024*768  不是需要枚举系统支持的分辨率, huiwww(十足菜鸟) ( 的方法行,但是 我是用和FORMS单元,我是用纯API写程序不想用VCL有没有纯API 获取当前的分辨率
      

  5.   

    搞错了,我是想问 获得当前屏幕的分辨率 比如 800*600   还是1024*768  不是需要枚举系统支持的分辨率, huiwww(十足菜鸟) ( 的方法行,但是 我是用和FORMS单元,我是用纯API写程序不想用VCL有没有纯API 获取当前的分辨率
      

  6.   

    试试
    var
    sx,sy:Integer;
    begin
    sx := GetSystemMetrics(SM_CXSCREEN); //分辨率宽
    sy := GetSystemMetrics(SM_CYSCREEN); //分辨率高edit1.Text:=inttostr(sx);
    edit2.Text:=inttostr(sy);