我正在制作一个需要在桌面模式下运行的程序。我怎样才能办理入住手续?而且,是否可以在C(显示器)中获得屏幕宽度和高度?
答案 0 :(得分:3)
这是一个非常广泛的问题,但我会咬人。我假设“桌面模式”表示正在运行X window system。由于您似乎没有首选的小部件工具包,因此我将展示一个使用Xlib的示例。
您只需尝试打开显示并检查返回值。如果它已启动,您也可以检索屏幕分辨率:
#include <stdio.h>
#include <X11/Xlib.h>
int main(int argc, char ** argv)
{
int screen_num;
unsigned int display_width, display_height;
Display *display;
/* First connect to the display server, as specified in the DISPLAY
environment variable. */
display = XOpenDisplay(NULL);
if (!display)
{
fprintf(stderr, "unable to connect to display");
return 1;
}
/* pull useful data out of the display object */
screen_num = DefaultScreen(display);
/* Display size is a member of display structure */
display_width = DisplayWidth(display, screen_num);
display_height = DisplayHeight(display, screen_num);
fprintf(stdout, "resolution is %d x %d\n", display_width, display_height);
return 0;
}
您必须使用-lX11
进行编译。所有这一切以及更多内容都可以从the Xlib programming tutorial here中学到。