㈠ C語言 設置控制台窗口的位置。
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;
}
㈡ C語言 怎麼使控制台窗口大小固定不變
啊是發說的 提供的方法有效,但在VC++6.0中GetConsoleWindow()無法通過編譯
經查詢並添加頭文件、聲明等之後均無法使用
後將GetConsoleWindow()換為FindWindow(), 親測可用
例如:SetWindowLong(FindWindow("ConsoleWindowClass", NULL),GWL_STYLE,GetWindowLong(FindWindow("ConsoleWindowClass", NULL),GWL_STYLE) & ~WS_SIZEBOX & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);
已經實現隱藏最大化按鈕
FindWindow()也能獲取控制台窗口句柄,內含兩個參數,具體可網路
參考鏈接:網頁鏈接
C語言、VC++6.0編譯
㈢ C語言學控制台程序有什麼用,或者說控制台程序有什麼意義。
控制台程序是為了兼容DOS程序而設立的,這種程序的執行就好像在一個DOS窗口中執行一樣,沒有自己的界面。主要是幫助你學習最基本的c的語法,c的語法還是蠻重要的,是以後編程的基礎
㈣ 我的C語言使用控制台編程之後,怎麼能夠讓控制台界面在程序執行完畢之後保留在桌面
可以使用系統函數system("pause");進行暫停。
1、system函數:
原型:int system(const char * command);
功能:執行 dos(windows系統) 或 shell(Linux/Unix系統) 命令,參數字元串command為命令名;
說明:在windows系統中,system函數直接在控制台調用一個command命令。在Linux/Unix系統中,system函數會調用fork函數產生子進程,由子進程來執行command命令,命令執行完後隨即返回原調用的進程;
頭文件:stdlib.h;
返回值:命令執行成功返回0,執行失敗返回-1。
2、常式:
#include<stdio.h>
#include<stdlib.h>
intmain(){
system("pause");//暫停
return0;
}
㈤ C語言編寫的怎麼都是命令控制台程序
1、控制台程序是基礎,有基礎了寫圖形界面的程序就很簡單了。學完C++了學windows編程、MFC什麼的,到時候就是圖形界面了。
2、圖形界面需要些SDK的知識,windows的實現中基本上都是用的C語言,其各種介面基本上都是原生C語言函數,具體比如SDK用的windows API。
使用純C語言編寫windows程序,工作量將會相當大,下面是一個小例子:
/*
*Thisisasimplewindowsprogram,itdoesnothingbutdrawanellipse.
*WindowsSDK,Win32API,PureC,(NotC++orMFC!!)
*Suxpertatgmaildotcom,2008/8/24
**/
#include<windows.h>
LONGWINAPIWndProc(HWND,UINT,WPARAM,LPARAM);
intAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,
LPSTRlpszCmdLine,intnCmdShow){
/*TheEntryforwindowsprogram,justlikemain()indos*/
WNDCLASSwc;
HWNDhwnd;
MSGmsg;
wc.style=0;//Classstyle
wc.lpfnWndProc=(WNDPROC)WndProc;//Windowprocereaddress
wc.cbClsExtra=0;//Classextrabytes
wc.cbWndExtra=0;//Windowextrabytes
wc.hInstance=hInstance;//Instancehandle
wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);//Iconhandle
wc.hCursor=LoadCursor(NULL,IDC_ARROW);//Cursorhandle
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);//Backgroundcolor
wc.lpszMenuName=NULL;//Menuname
wc.lpszClassName="WinSDKtest";//WNDCLASSname
RegisterClass(&wc);
hwnd=CreateWindow(
"WinSDKtest",//WNDCLASSname
"SDKApplication",//Windowtitle
WS_OVERLAPPEDWINDOW,//Windowstyle
CW_USEDEFAULT,//Horizontalposition
CW_USEDEFAULT,//Verticalposition
CW_USEDEFAULT,//Initialwidth
CW_USEDEFAULT,//Initialheight
HWND_DESKTOP,//Handleofparentwindow
NULL,//Menuhandle
hInstance,//Application'sinstancehandle
NULL//Window-creationdata
);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,
LPARAMlParam)
{
/*...*/
PAINTSTRUCTps;
HDChdc;
switch(message){
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
Ellipse(hdc,0,0,800,600);
//
EndPaint(hwnd,&ps);
break;//Someoneliketowritereturnhere.
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,message,wParam,lParam);
}
return0;
}
基本過程就是直接調用windows提供的API函數,完成從窗口創建,顯示等界面功能到深層的文件操作,注冊表等甚至windows內核調試等高級功能。
㈥ C語言 控制台程序
不想調用控制台入口換winmain
底層的編譯,在編譯成目標文件之後,不要鏈接成可執行文件,生成別的
二進制文件
或者。。像
Linux內核
一樣,編譯成可執行文件,裝載入內存,然後用內存鏡像拷貝出純二進制文件。。等等方法
至於編譯驅動有另外更加專業的方法咯。。
㈦ C語言寫控制台程序,如何禁止控制台的關閉按鈕
要攔截消息的話可以通過SetConsoleCtrlHandler和HandlerRoutine函數(msdn一下),下面是簡單例子:
#include
<Windows.h>
#include
<stdio.h>
BOOL
MyHandler(
DWORD
dwCtrlType
)
{
if
(
dwCtrlType
==
CTRL_CLOSE_EVENT
)
{
printf("Cannot
close...\n");
return
TRUE;
}
return
FALSE;
}
void
main()
{
SetConsoleCtrlHandler((PHANDLER_ROUTINE)MyHandler,
TRUE);
printf("Please
try
to
clsoe...\n");
while(1)
{};
}
要禁止關閉按鈕的話可以直接從系統菜單里移除,比如:
#define
_WIN32_WINNT
0x0500
#include
<Windows.h>
#include
<stdio.h>
void
main()
{
DeleteMenu(GetSystemMenu(GetConsoleWindow(),
FALSE),
SC_CLOSE,
MF_BYCOMMAND);
DrawMenuBar(GetConsoleWindow());
printf("Now
you
cannot
close
this
window...\n");
system("pause");
}
㈧ 什麼是C語言控制台
C語言控制台就是C語言在新建工程時選的一種工程類型,稱為Win32控制台應用程序。
控制台應用程序就是模擬DOS環境下運行的程序。
建立Win32控制台應用程序的過程如下:
新建項目--->Win32--->Win32控制台應用程序
建立完控制台應用程序後,就可以在新建的源文件中輸入C語言程序,經編譯完成後就可以運行在DOS環境中運行(即黑框)。
㈨ C語言中的控制台指的是什麼
1.關於C中沒有控制項的問題: 你看的是譚浩強的書,那個上面的程序都是控制台應用程序,也就是你說的DOS界面下面的程序,程序的入口時main函數。的確是沒辦法達到你所說的控制項。但是C在開發窗體應用程序時是可以達到VB的那種效果的,用的是WINAPI,程序的入口就是WinMain函數了,只不過開發過程繁瑣,但是效率高,當中從創建窗口,注冊窗口,顯示窗口……全是用代碼完成的,想了解的話看《Windows程序設計》這本書。 當然微軟為了效率考慮,封裝成了MFC,開發的形式就更像VB 了。 2.關於c++ c++2008,VB VB2008的問題: 語言和開發環境是不一樣的,一定不能混淆。你說的c++2008 應該指的是開發環境 VS2008 吧,你說VB與VB2008基本上完全不一樣,是沒錯,因為在VB6下面還是VB ,但是到了之後的版本,是VB.NET 二者的差別可不是一般的大,完全沒有血緣關系。。。 而C++是一門語言,與VC VC2008 等開發環境是不一樣的。 再者,是你說的關於老版本的VB6 ,以及VC6 是否會被淘汰的問題,正如我上面說的,你掌握的是一門語言的話,無論在什麼樣的開發環境下面,影響不是很大。 3.給你的一小點學習建議: 如果你現在基礎不是太好的話,踏踏實實的跟著譚的書學C吧,DOS界面是有點。。。但是不要急於求成,把語法熟悉了,演算法跟上了,程序思維清晰了。以後學習才輕松,不然你現在直接去學比如說Windows程序設計,沒有C的基礎還是相當困難的,這就像學武功先扎馬步一樣的。一個道理。 希望對你有所幫助。