用c语言如何实现弹除对话框

怎样用C写段程序,实现弹出个对话框?是要用到库函数什么的吧,麻烦大家给指点下啊~~~~最好给个实例,谢了啊。... 怎样用C写段程序,实现弹出个对话框?
是要用到库函数什么的吧,麻烦大家给指点下啊~~~~
最好给个实例,谢了啊。
展开
 我来答
博学小赵爱生活
高能答主

2020-04-13 · 专注于食品生活科技行业
博学小赵爱生活
采纳数:457 获赞数:111848

向TA提问 私信TA
展开全部

#include

#include 

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

char hello[]="Hello";

char world[]="world";

HWND hwnd;void main(void)

asm

//push NULL

//call dword ptr GetModuleHandle

//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'\n", test1 ); fflush( stdout );

analyze_string( test1 );

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

analyze_string( test2 );

printf ( "Analyzing string '%s'\n", 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 != '\0' );       // Cannot be empty

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

}

扩展资料:

#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\0*.*\0Text\0*.TXT\0"; // 文件类型

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;

}

yearkevintt
2015-07-13 · TA获得超过308个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:194万
展开全部
可以使用自带的函数msgbox
头文件windows.h
介绍如下
一 函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000;         //一个确定按钮
MB_OKCANCEL = $00000001;      //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002;  //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003;     //一个是按钮,一个否按钮,一个取消按钮
MB_YESNO = $00000004;        //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005;     //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000;     //第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100;     //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200;     //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300;     //第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010;        //“×”号图标
MB_ICONQUESTION = $00000020;      //“?”号图标
MB_ICONEXCLAMATION = $00000030;    //“!”号图标
MB_ICONASTERISK = $00000040;      //“i”图标
MB_USERICON = $00000080;        //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION;  //“!”号图标
MB_ICONERROR = MB_ICONHAND;      //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND;       //“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000;    //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000;   //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000;    //任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000;       //Help Button
3、函数返回值
0            //对话框建立失败
IDOK = 1        //按确定按钮
IDCANCEL = 2      //按取消按钮
IDABOUT = 3       //按异常终止按钮
IDRETRY = 4       //按重试按钮
IDIGNORE = 5      //按忽略按钮
IDYES = 6        //按是按钮
IDNO = 7        //按否按钮
二 用法
1. MessageBox("这是一个最简单的消息框!");
2. MessageBox("这是一个有标题的消息框!","标题");
3. MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL );
4. MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );
5. MessageBox("这是一个两种属性的消息框!","标题",
MB_ICONEXCLAMATION|MB_OKCANCEL );
6. if(MessageBox("一种常用的应用","标题
" ,MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
return;
注意:
以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。
二、在MessageBox中显示变量的值
CString string;
string.format("%d%s",m_age, m_address); //将变量组装到字符串中
MessageBox(string,"消息框标题",消息框类型);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
史帅锅
推荐于2017-09-08 · TA获得超过611个赞
知道小有建树答主
回答量:254
采纳率:77%
帮助的人:41万
展开全部
/*
MessageBox 弹框函数
MessageBox (NULL,TEXT("窗口内容"), TEXT("窗口标题"), 图标|按钮);
*/
# include <stdio.h>
# include <Windows.h>// 包含头文件:Windows.h

int main (void)
{
    MessageBox (NULL,TEXT("欢迎使用本软件"), TEXT("欢迎"),MB_OK);//只有OK
     /*
        按钮参数:
            MB_OK                 有一个“确定”在框里面
            MB_YESNO              有“是”和“否”在里面
            MB_ABORTRETRYIGNORE   有Abort(放弃),Retry(重试)和Ignore(跳过)在里面
            MB_YESNOCANCEL        有“是”和“否”和“取消”在里面 
            MB_RETRYCANCEL        有“重试”和“取消” 在里面
            MB_OKCANCEL           有“确定”和“取消”在里面
        返回值:
            按下的按钮       返回的值
            确定                1
            取消                2
            放弃                3
            重试                4
            跳过                5
            是                  6
            否                  7
    */
    int i = MessageBox (NULL,TEXT("按“确定”输出 6,按“取消”输出 7"), TEXT("你好"),MB_YESNO);
    printf("%d\n",i);
    /*
    图标:    
        MB_ICONEXCLAMATION    一个惊叹号出现在消息框    
        MB_ICONWARNING        一个惊叹号出现在消息框    
        MB_ICONINFORMATION    一个圆圈中小写字母i组成的图标出现在消息框    
        MB_ICONASTERISK       一个圆圈中小写字母i组成的图标出现在消息框    
        MB_ICONQUESTION       一个问题标记图标出现在消息框    
        MB_ICONSTOP           一个停止消息图标出现在消息框    
        MB_ICONERROR          一个停止消息图标出现在消息框    
        MB_ICONHAND           一个停止消息图标出现在消息框    
    */
    MessageBox (NULL,TEXT("你是猪吗?"), TEXT("问题"),MB_ICONQUESTION|MB_YESNO);//注:图标在前,按钮在后。中间用“|”分割。
    /*
    更多请见:
    http://baike.baidu.com/link?url=-GiHNS_b6AI3FO5yY6tcQMgHA9JP_c7ZjLe_GWHmHwUMcDwXFp0VFiSKL1ZuSvuzlpVHZgDpE_cgiA1VtFgSLa
    MessageBox百度百科。
    */
    
    
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小鑫聊两性
2015-07-04 · 与大家聊聊年轻男女之间的那些事儿
小鑫聊两性
采纳数:184 获赞数:921

向TA提问 私信TA
展开全部
可以使用Windows API中的MessageBox函数来弹出对话框

百度百科:MessageBox
http://baike.baidu.com/link?url=Xt2CkBiKX7PZWex_fhDbiSSViP5tKRDlvOWT11sZTMsrtyIvypByhknai3AdD6Nmzu2GjgQS1Cl59LLuuwJQ1K
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谢兴桥
2015-07-23 · TA获得超过387个赞
知道小有建树答主
回答量:591
采纳率:33%
帮助的人:245万
展开全部
有GDI库,不用搞的那么底层吧。太折腾。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式