當前位置:首頁 » 編程語言 » c語言彈出窗口

c語言彈出窗口

發布時間: 2022-06-18 02:12:33

『壹』 c語言彈出窗口應用程序錯誤

應用程序錯誤問題:
1.木馬病毒造成常用病毒捆綁應用程序和系統文件,然後安全殺毒軟體把有木馬病毒應用程序和系統文件查殺導致。
2.應用程序組件丟失,應用程序完整的運行需要一些系統文件或者某些ll文件支持的,如果應用程序組件不完整也會導致的。
3.系統文件損壞或丟失,盜版系統或Ghost版本系統,很容易出現該問題。
4.操作系統自身的問題,操作系統本身也會有bug 。
5.硬體問題,例如內存條壞了或者存在質量問題,或者內存條的金手指的灰塵特別多。

應用程序錯誤解決方法:
1.檢查電腦是否存在病毒,請使用網路衛士進行木馬查殺。
2.系統文件損壞或丟失,盜版系統或Ghost版本系統,很容易出現該問題。建議:使用完整版或正版系統。
3.安裝的軟體與系統或其它軟體發生沖突,找到發生沖突的軟體,卸載它。如果更新下載補丁不是該軟體的錯誤補丁,也會引起軟體異常,解決辦法:卸載該軟體,重新下載重新安裝試試。順便檢查開機啟動項,把沒必要啟動的啟動項禁止開機啟動。
4.如果檢查上面的都沒問題,可以試試下面的方法。
打開開始菜單→運行→輸入cmd→回車,在命令提示符下輸入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回車。
完成後,在輸入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回車。
如果怕輸入錯誤,可以復制這兩條指令,然後在命令提示符後擊滑鼠右鍵,打「粘貼」,回車,耐心等待,直到屏幕滾動停止為止(重啟電腦)。

『貳』 C語言彈出輸入框

在類向導中點擊member
variables選項卡,在control
ids:中選擇你的編輯控制項雙擊,再彈出的對話框輸入你的變數名,如m_edit,一路按ok。
添加一個按鈕控制項,雙擊,點ok,
在游標處輸入
m_edit="hello
world"
updatedata(0);
可以收工了,
滿意請點擊選為滿意答案,謝謝!

『叄』 用C語言編了個程序,怎樣讓它點擊「下一步」後繼續彈出窗口

可以參考下面的代碼:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)

{

while(1)

{

MessageBox(NULL,"FYY,我想我是喜歡上你了","CKR",MB_OK);

}

return 0;

}

註:彈出窗口之後會一直顯示。

(3)c語言彈出窗口擴展閱讀:

C語言參考函數

C語言isprint()函數:判斷一個字元是否是可列印字元

C語言islower()函數:判斷一個字元是否是小寫字母

C語言ldexp()函數:返回x乘以2的exponent次方(次冪)的值

C語言labs()函數:求整數的絕對值(針對long類型)

C語言isgraph()函數:判斷一個字元是否是圖形字元

double fabs(double x) 返回雙精度參數x的絕對值

long labs(long n) 返回長整型參數n的絕對值

double exp(double x) 返回指數函數ex的值

『肆』 用c語言如何實現彈除對話框

#include

#include

char format[]="%s%s ";

char hello[]="Hello";

char world[]="world";

HWND hwnd;void main(void)

asm

//push NULL

//call dword ptr GetMoleHandle

//mov hwnd,eax push MB_OK mov eax,offset world push eax mov eax,offset hello push eax push 0//說明此處不能將前面注釋掉代碼處得到的hwnd壓棧,否則對話框彈不出來。

call dword ptr MessageBox

}

}

WINDOWS程序MessagBox

WINDOWS或控制台 assert

C/C++ code

// crt_assert.c

// compile with: /c

#include <stdio.h>

#include <assert.h>

#include <string.h>

void analyze_string( char *string ); // Prototype

int main( void )

{

char test1[] = "abc", *test2 = NULL, test3[] = "";

printf ( "Analyzing string '%s' ", test1 ); fflush( stdout );

analyze_string( test1 );

printf ( "Analyzing string '%s' ", test2 ); fflush( stdout );

analyze_string( test2 );

printf ( "Analyzing string '%s' ", test3 ); fflush( stdout );

analyze_string( test3 );

}

// Tests a string to see if it is NULL,

// empty, or longer than 0 characters.

void analyze_string( char * string )

{

assert( string != NULL ); // Cannot be NULL

assert( *string != '' ); // Cannot be empty

assert( strlen( string ) > 2 ); // Length must exceed 2

}

(4)c語言彈出窗口擴展閱讀:

#include <windows.h>

#include <Commdlg.h>

#include <stdio.h>

// 返回值: 成功 1, 失敗 0

// 通過 path 返回獲取的路徑

int FileDialog(char *path)

{

OPENFILENAME ofn;

ZeroMemory(&ofn, sizeof(ofn));

ofn.lStructSize = sizeof(ofn); // 結構大小

ofn.lpstrFile = path; // 路徑

ofn.nMaxFile = MAX_PATH; // 路徑大小

ofn.lpstrFilter = "All*.*Text*.TXT"; // 文件類型

ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

return GetOpenFileName(&ofn);

}

int main(char argc, char *argv[])

{

char szFile[MAX_PATH] = {0};

if(FileDialog(szFile))

{

puts(szFile);

}

getchar();

return 0;

}

『伍』 C語言如何彈出提示框

直接調用系統API MessageBox()函數就可以了。

函數原形

int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

參數說明

hWnd: 消息框的擁有窗此參數口。如果為NULL,則消息框沒有擁有窗口。

lpText: 消息框的內容。

lpCaption: 消息框的標題。

uType:

指定一個決定對話框的內容和行為的位標志集。此參數可以為下列標志組中標志的組合。指定下列標志中的一個來顯示消息框中的按鈕以及圖標。

MB_OK 默認值。有一個確認按鈕在裡面。

MB_YESNO 有是和否在裡面。

MB_ABORTRETRYIGNORE 有Abort(放棄),Retry(重試)和Ignore(跳過)

MB_YESNOCANCEL 消息框含有三個按鈕:Yes,No和Cancel

MB_RETRYCANCEL 有Retry(重試)和Cancel(取消)

MB_OKCANCEL 消息框含有兩個按鈕:OK和Cancel

『陸』 能用C語言彈出一個提示窗口嗎

可以

#include "windows.h"
然後用
MessageBox(NULL,"彈出窗口的文本內容","彈出窗口的標題",0);

『柒』 c語言編程以無法關掉的窗口彈出只能按指令選擇

Ctrl
+
C或Ctrl
+
Break組合鍵會終止C/C++等編程語言的運行,並退回到系統控制模式下,如想擺脫這樣的控制,可使用_getch()函數逐個讀取鍵盤輸入,並進行分析處理,詳情可參看_getch()函數的功能介紹。

『捌』 如何用c語言在控制台彈出一個輸入對話框

#include <tchar.h>
#include <windows.h>

HINSTANCE _HInstance; // 應用程序句柄
TCHAR _Title[] = _T("簡單文本框"); // 定義窗口的標題

TCHAR _WindowClass[] = _T("MySimpleTextBoxApp");// 主窗口類名
ATOM _RegisterClass(); // 注冊主窗口類
HWND _CreateWindow(int nCmdShow); // 創建主窗口
LRESULT CALLBACK _WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); // 主窗口消息處理函數

TCHAR _TextBoxClass[] = _T("MySimpleTextBox"); // 文本框的類名
ATOM _RegisterTextBoxClass(); // 注冊文本框的類
HWND _CreateTextBoxWindow(HWND hParentWnd); // 創建文本框
LRESULT CALLBACK _TextBoxWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); // 文本框窗口消息處理函數
void _DrawText(HDC hDC); // 繪制文本
void _SetCaretPos(HWND hWnd); // 設置游標位置
void _UpdateWindow(HWND hWnd); // 更新窗口

// 一些常量定義
#define MAINWINDOW_WIDTH 400 // 主窗口寬度
#define MAINWINDOW_HEIGHT 200 // 主窗口高度
#define TEXTBOX_WIDTH 300 // 文本框寬度
#define TEXTBOX_HEIGHT 20 // 文本框高度
#define TEXTBOX_MAXLENGTH 1024 // 文本框中文本的最大長度

TCHAR _String[TEXTBOX_MAXLENGTH + 1] = _T(""); // 文本
int _StringPosition = ::_tcslen(_String); // 游標插入點所在的位置

int APIENTRY _tWinMain(HINSTANCE hInstance, // 當前的應用程序句柄
HINSTANCE hPrevInstance, // 前一個應用程序實例的句柄(在Win32上,始終為NULL)
LPTSTR lpCmdLine, // 命令行參數
int nCmdShow // 窗口的顯示樣式
)
{
_HInstance = hInstance;

_RegisterClass(); // 注冊窗口類
if(_CreateWindow(nCmdShow) == NULL) // 創建窗口
return FALSE;

MSG msg;
while (::GetMessage(&msg, NULL, 0, 0)) // 從消息隊列中獲取消息
{
::TranslateMessage(&msg); // 轉譯一些特殊的消息
::DispatchMessage(&msg); // 執行消息處理
}

return (int)msg.wParam;
}

// 注冊應用程序窗口類
ATOM _RegisterClass()
{
WNDCLASSEX wc;
::ZeroMemory(&wc, sizeof(wc)); // 作為一步清空,是為了讓未賦值的欄位的默認值為(或NULL)

wc.cbSize = sizeof(wc);
wc.style = CS_HREDRAW | CS_VREDRAW; // 指定當窗口橫向和縱向的尺寸發生變化時都會重繪窗口
wc.hInstance = _HInstance;
wc.hbrBackground = (HBRUSH)( COLOR_APPWORKSPACE + 1); // 指定主窗口背景為「工作區域」系統顏色
wc.lpszClassName = _WindowClass; // 此為要注冊的類名,創建窗口時要以此類名為標識符
wc.lpfnWndProc = _WndProc; // 此為處理窗口消息的函數

return ::RegisterClassEx(&wc); // 調用API函數注冊窗口類
}

// 創建窗口
HWND _CreateWindow(int nCmdShow)
{
HWND hWnd = ::CreateWindow(_WindowClass, _Title, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, MAINWINDOW_WIDTH, MAINWINDOW_HEIGHT, NULL, NULL, _HInstance, NULL);

if(hWnd == NULL)
return NULL;

::ShowWindow(hWnd, nCmdShow);
::UpdateWindow(hWnd);

return hWnd;
}

// 窗口處理過程
LRESULT CALLBACK _WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hTextBoxWnd;

switch (message)
{
case WM_CREATE: {
_RegisterTextBoxClass(); // 注冊文本框的類
hTextBoxWnd = _CreateTextBoxWindow(hWnd); // 創建文本框
} break;

case WM_ACTIVATE: // 當窗口被激活時,將焦點設置在文本框上
::SetFocus(hTextBoxWnd);
break;

case WM_SETCURSOR: { // 設置游標形狀
static HCURSOR hCursor = ::LoadCursor(NULL, IDC_ARROW);
::SetCursor(hCursor);
} break;

case WM_DESTROY: // 應用程序被關閉
::PostQuitMessage(0);
break;

default:
return ::DefWindowProc(hWnd, message, wParam, lParam);
}

return (LRESULT)0;
}

// 注冊文本框的類
ATOM _RegisterTextBoxClass()
{
WNDCLASSEX wc;
::ZeroMemory(&wc, sizeof(wc));

wc.cbSize = sizeof(wc);
wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS; // 指定當窗口尺寸發生變化時重繪窗口,並且響應滑鼠雙擊事件
wc.hInstance = _HInstance;
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); // 指定窗口背景顏色為系統顏色「窗口背景」
wc.lpszClassName = _TextBoxClass; // 指定要注冊的窗口類名,創建窗口時要以此類名為標識符
wc.lpfnWndProc = _TextBoxWndProc; // 處理窗口消息的函數

return ::RegisterClassEx(&wc); // 調用API函數注冊文本框窗口
}

// 創建文本框
HWND _CreateTextBoxWindow(HWND hParentWnd)
{
// 之下代碼是為了讓文本框顯示在父窗口中央,而計算位置
RECT parentWndRect;
::GetClientRect(hParentWnd, &parentWndRect); // 獲取父窗口客戶區的位置
int left = (parentWndRect.right - TEXTBOX_WIDTH) / 2, top = (parentWndRect.bottom - TEXTBOX_HEIGHT) / 2;

// 創建文本框
HWND hWnd = ::CreateWindow(_TextBoxClass, NULL, WS_CHILDWINDOW | WS_VISIBLE,
left, top, TEXTBOX_WIDTH, TEXTBOX_HEIGHT,
hParentWnd, NULL, _HInstance, NULL);

return hWnd;
}

// 文本框消息的處理過程
LRESULT CALLBACK _TextBoxWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_PAINT: { // 繪制這里之所以加一對大括弧,是為了讓之下定義的變數局部化

static PAINTSTRUCT ps;
static RECT rect;
HDC hDC = ::BeginPaint(hWnd, &ps); // 開始繪制操作

::GetClientRect(hWnd, &rect); // 獲取客戶區的尺寸
::DrawEdge(hDC, &rect, EDGE_SUNKEN, BF_RECT); // 繪制邊框,EDGE_SUNKEN表示繪制樣式為內嵌樣式,BF_RECT表示繪制矩形邊框
_DrawText(hDC); // 繪制文本
::EndPaint(hWnd, &ps); // 結束繪制操作

} break;

case WM_SETFOCUS: { // 獲得焦點
::CreateCaret(hWnd, (HBITMAP)NULL, 1, TEXTBOX_HEIGHT-5); // 創建游標
_SetCaretPos(hWnd); // 設置游標位置
::ShowCaret(hWnd); // 顯示游標
} break;

case WM_KILLFOCUS: // 失去焦點
::HideCaret(hWnd); // 隱藏游標
::DestroyCaret(); // 銷毀游標
break;

case WM_SETCURSOR: { // 設置游標形狀
static HCURSOR hCursor = ::LoadCursor(NULL, IDC_IBEAM);
::SetCursor(hCursor);
} break;

case WM_CHAR: { // 字元消息
TCHAR code = (TCHAR)wParam;
int len = ::_tcslen(_String);
if(code < (TCHAR)' ' || len >= TEXTBOX_MAXLENGTH)
return 0;

::MoveMemory(_String + _StringPosition + 1, _String + _StringPosition, (len - _StringPosition + 1) * sizeof(TCHAR));
_String[_StringPosition ++] = code;

_UpdateWindow(hWnd);
_SetCaretPos(hWnd);

} break;

case WM_KEYDOWN: { // 鍵按下消息
TCHAR code = (TCHAR)wParam;

switch (code)
{
case VK_LEFT: // 左游標鍵
if(_StringPosition > 0)
_StringPosition --;
break;

case VK_RIGHT: // 右游標鍵
if(_StringPosition < (int)::_tcslen(_String))
_StringPosition ++;
break;

case VK_HOME: // HOME 鍵
_StringPosition = 0;
break;

case VK_END: // END 鍵
_StringPosition = ::_tcslen(_String);
break;

case VK_BACK: // 退格鍵
if(_StringPosition > 0)
{
::MoveMemory(_String + _StringPosition - 1, _String + _StringPosition, (::_tcslen(_String)-_StringPosition + 1) * sizeof(TCHAR));
_StringPosition --;
_UpdateWindow(hWnd);
}
break;

case VK_DELETE: { // 刪除鍵
int len = ::_tcslen(_String);
if(_StringPosition < len)
{
::MoveMemory(_String + _StringPosition, _String + _StringPosition + 1, (::_tcslen(_String) - _StringPosition + 1) * sizeof(TCHAR));
_UpdateWindow(hWnd);
}

} break;

}

_SetCaretPos(hWnd);

} break;

case WM_LBUTTONDOWN: { // 滑鼠單擊,設置游標位置
int x = LOWORD(lParam);
HDC hDc = ::GetDC(hWnd);

int strLen = ::_tcslen(_String), strPos = 0;
SIZE size;

for (strPos=0; strPos<strLen; strPos++)
{
::GetTextExtentPoint(hDc, _String, strPos, &size);

if(size.cx + 4 >= x)
break;
}

_StringPosition = strPos;
::GetTextExtentPoint(hDc, _String, strPos, &size);
::SetCaretPos(size.cx + 4, 3);

::ReleaseDC(hWnd, hDc);

} break;

default:
return ::DefWindowProc(hWnd, message, wParam, lParam);
}

return (LRESULT)0;
}

// 更新窗口
void _UpdateWindow(HWND hWnd)
{
RECT rect;
::GetClientRect(hWnd, &rect);
::InvalidateRect(hWnd, &rect, TRUE);
::UpdateWindow(hWnd);
}

// 繪制文本
void _DrawText(HDC hDC)
{
int len = ::_tcslen(_String);
::TextOut(hDC, 4, 2, _String, len);
}

// 設置游標位置
void _SetCaretPos(HWND hWnd)
{
HDC hDC = ::GetDC(hWnd);

SIZE size;
::GetTextExtentPoint(hDC, _String, _StringPosition, &size);
::SetCaretPos(4 + size.cx, 3);

::ReleaseDC(hWnd, hDC);

}

『玖』 C語言中怎麼一次彈出多個消息框

1、這個和開發環境有關系,如果是vs開發環境,點【編輯】-【高級】-【設置選定內容的格式】或者按ctrl
+
k
然後再按ctrl
+
f
就好。
2、也可以在常用快捷鍵自定義
窗口中進行查看
1)進入工具-選項
對話框
2)選擇【環境】-【鍵盤】
3)在
【顯示命令包含】
下面的對話框中輸入「對齊」關鍵字,然後就會在這個編輯框下面一個文本窗口中顯示關於「對齊」一系列的「某某對齊」操作命令,選中你想查看的,就會在【選定命令的快捷鍵】一欄中顯示其快捷鍵了

『拾』 我看見有些c語言的代碼運行後會彈出另外的窗口(不是運行的exe程序),什麼原理代碼又是什麼

windows系統提供了API可以彈出別的窗口 比如對話框dialog系列API函數 或者messagebox函數

熱點內容
華碩訪問點 發布:2025-02-06 15:56:57 瀏覽:330
excel拼接sql 發布:2025-02-06 15:50:10 瀏覽:500
加密手機直播 發布:2025-02-06 15:49:31 瀏覽:534
自帶ftp伺服器好用嗎 發布:2025-02-06 15:26:11 瀏覽:109
win7訪問xp區域網 發布:2025-02-06 15:17:07 瀏覽:524
均線差演算法 發布:2025-02-06 15:13:22 瀏覽:459
androidbrowser 發布:2025-02-06 15:09:49 瀏覽:622
勇敢的心ftp 發布:2025-02-06 15:09:03 瀏覽:327
php日誌分析 發布:2025-02-06 15:08:19 瀏覽:874
36腳本大廳作者 發布:2025-02-06 14:55:53 瀏覽:409