| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7266 人关注过本帖
标题:如何让c语言编写的控制台程序在程序运行时让运行窗口显示在屏幕的指定位置? ...
只看楼主 加入收藏
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:7 
如何让c语言编写的控制台程序在程序运行时让运行窗口显示在屏幕的指定位置?
如何让c语言编写的控制台程序在程序运行时让运行窗口显示在屏幕的指定位置?比如显示在电脑屏幕的右下角.并保证将程序移植到另一台电脑上时依然有效。
搜索更多相关主题的帖子: 控制台 运行 显示 屏幕 位置 
2018-07-19 20:35
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:7 
1.gotoxy函数:
原型:extern void gotoxy(int x, int y);
用法:#include <system.h>
功能:将光标移动到指定位置说明:gotoxy(x,y)将光标移动到指定行y和列x。设置光标到文本屏幕的指定位置,其中参数x,y为文本屏幕的坐标。
gotoxy(0,0)将光标移动到屏幕左上角
2.例程(下面这个例子将在屏幕中央输出“hello world”):
#include <conio.h>
int main(){
clrscr(); //清除屏幕
gotoxy(35, 12); //挪动鼠标到屏幕中央
cputs("Hello world");
getch();
return 0;
}
2018-07-19 21:05
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:7 
#include<stdio.h>
#include<windows.h>
int main()
{
    char title[100];
    HWND hwnd;
    GetConsoleTitle(title,100);
    hwnd=FindWindow(NULL,title);
    MoveWindow(hwnd,100,100,300,300,TRUE);
    return 0;
}
//可能是想要这个吧
2018-07-19 21:34
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
收藏
得分:0 
以下是引用yangfrancis在2018-7-19 21:34:31的发言:

#include<stdio.h>
#include<windows.h>
int main()
{
    char title[100];
    HWND hwnd;
    GetConsoleTitle(title,100);
    hwnd=FindWindow(NULL,title);
    MoveWindow(hwnd,100,100,300,300,TRUE);
    return 0;
}
//可能是想要这个吧

不错,正是我要的。
2018-07-19 21:58
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
收藏
得分:0 
以下是引用自学的数学在2018-7-19 21:05:15的发言:

1.gotoxy函数:
原型:extern void gotoxy(int x, int y);
用法:#include <system.h>
功能:将光标移动到指定位置说明:gotoxy(x,y)将光标移动到指定行y和列x。设置光标到文本屏幕的指定位置,其中参数x,y为文本屏幕的坐标。
gotoxy(0,0)将光标移动到屏幕左上角
2.例程(下面这个例子将在屏幕中央输出“hello world”):
#include <conio.h>
int main(){
clrscr(); //清除屏幕
gotoxy(35, 12); //挪动鼠标到屏幕中央
cputs("Hello world");
getch();
return 0;
}

这个gotoxy()函数移动的是光标的位置,并不是整个控制台窗口,不过还是谢谢你的回答。
2018-07-19 22:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:7 
回复 3楼 yangfrancis
GetConsoleTitle + FindWindow 不是一种可靠的方式
应该直接用 GetConsoleWindow
2018-07-20 10:43
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 6楼 rjsp
追问一下,这里提示了error LNK2001: unresolved external symbol _GetConsoleWindow, 网上有的解答说添加wincon.h, 但添加之后仍旧报错,请问这个要用什么头文件?谢谢。
#include<stdio.h>
#include<windows.h>
//#include<wincon.h>
int main()
{
    char title[100];
    HWND hwnd;
    /*
    GetConsoleTitle(title,100);
    hwnd=FindWindow(NULL,title);
    */
    hwnd=GetConsoleWindow();
    MoveWindow(hwnd,100,100,300,300,TRUE);
    return 0;
}
2018-07-21 09:48
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 7楼 yangfrancis
https://docs.
没有任何特别的呀
要不安装提示定义 define _WIN32_WINNT as 0x0500 or later
再加入 Kernel32.lib
2018-07-21 10:02
快速回复:如何让c语言编写的控制台程序在程序运行时让运行窗口显示在屏幕的指定 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027119 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved