window编程(c语言编写windows程序) 左键选择框怎么实现?

在windows下,如何用纯C语言实现socket网络编程?-中国学网-中国IT综合门户网站
> 在windows下,如何用纯C语言实现socket网络编程?
在windows下,如何用纯C语言实现socket网络编程?
转载 编辑:李强
为了帮助网友解决“在windows下,如何用纯C语言实现s”相关的问题,中国学网通过互联网对“在windows下,如何用纯C语言实现s”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:在windows下,如何用纯C语言实现socket网络编程?,具体解决方案如下:解决方案1:我觉得是你的概念不清:
1、什么是纯C?
Windows下的纯C,我还没有见过。很多都和posix的要求不一致。
2、要是说使用C语言接口,就很简单,Windows API基本上都是C语言兼容接口。
直接使用就可以了。
纯C基本上是理论模型,没办法用。VC、GCC等都是C语言的方言。通过对数据库的索引,我们还为您准备了:答:我觉得是你的概念不清: 1、什么是纯C? Windows下的纯C,我还没有见过。很多都和posix的要求不一致。 2、要是说使用C语言接口,就很简单,Windows API基本上都是C语言兼容接口。 直接使用就可以了。 纯C基本上是理论模型,没办法用。VC、GCC等...===========================================问:希望能给出 详细代码答:http://my.csdn.net/qxbailv15/code/detail/48451===========================================问:希望能给出 详细代码答:in_addr_t inet_addr(const char *cp); 这个函数返回的是网络顺序的四字节网络地址。例如: in_addr ipA ipAddr.S_un.S_addr = inet_addr("127.0.0.1"); 就是把字符串形式的ip地址转化为0xXXXXXXXX形式的地址格式。===========================================问:希望能给出 详细代码答:使用Visual c++ 创建一个win32窗体项目,他会帮你生成 最基本的框架,仔细看看会有帮助的。 楼主不要问这种大问题了!===========================================问:最近初学WINDOWS程序设计 用的是C 想写个小程序 里面有几个按钮 可是不...答:你必须通过捕获 WM_COMMAND 消息的 wParam 和 lParam 的值来解决这个问题。 LOWORD(wParam) 子窗口ID HIWORD(wParam) 通知码 lParam 子窗口句柄 代码如下: case WM_COMMAND: { //按钮 ID 为 100的处理 if(LOWROD(wParam) == 100) { ...//具体处...===========================================问:已经会用C语言来编写一些小程序了,可是这些程序只能在编程环境下或DOS...答:怎么不是一个程序的,那是你程序的运行系统环境不一样。TC在DOS下用C语言也可以做界面的程序埃 在WINDOWS上也可用 wintc 用c语言做界面,只不过界面是全屏。 windows是微软开发的,所以如果要做windows 你就要使用微软集成开发环境VC,另外还要...===========================================问:在DOS下尝试成功了,自己写了一套函数,可以画点,线,四边,圆,但是,...答:简单的回答你的修改的问题:就是不可能实现,不过如果你牛到某种程度可以自己写驱动更或者自己写操作系统,那就可以了,当然也有别人写好了的库你可以调用,但也只是封装了API,实现类似DOS下画图的编程方式完成windows下的图形编程,可以参考西...===========================================问:在DOS下尝试成功了,自己写了一套函数,可以画点,线,四边,圆,但是,...答:那就是控制台应用程序喽 看孙鑫VC6视频教程网络编程部分 很详细,VC6只是个平台,可以随便用什么来写 主要用到winscok2.h===========================================问:一张电影片50元,售票员手里没有零钱,此时有两种人排队买票,A和B(都...答:LZ,刚做了试了下,发现这组合方式很多啊,。 我只是打印出AB都是20人的情况,发现组合太多了,于是我又加了写入到temp.txt中,方便我看结果。 如果想看少于双方20人的情况就在中间加printf()就好了,你也可以改变MAX的值来改变人数,代码如下...===========================================我觉得是你的概念不清: 1、什么是纯C? Windows下的纯C,我还没有见过。很多都和... 就很简单,Windows API基本上都是C语言兼容接口。 直接使用就可以了。 纯C基本...===========================================C/S构架的? 那可以啊 试运行在windows平台的吧? 那就用多线程(createthread)和网络通信(bind ,listen,accept,send,connect)的来做。。。。应该就能实现你说的功能。DO...===========================================你用C写出来,我倒贴400=========================================== 你要做的是要用户输入命令串,例如 dir存在str中 然后 使用system(str);===========================================???C语言用timer??? timer是windows下的概念,普通的C语言是实现不了这个功能的. 而且很繁的其实.===========================================你是要使用windows.h和winsock库实现还是在linux下实现?两种的程序我都有,你要的话给邮箱,发给你===========================================这个简单。。。我经常做木马的。最好用c++ 来完成 用c语言编写界面有点繁琐。windows下远控所需知识:c/c++基础 、socket、 pe 感染技术、 windows sdk 最好mfc。===========================================用中断实现,linux下可以用信号中断。Windows下应该是消息驱动,不了解。===========================================然后在Windows NT 3.X上用MB_SERVICE_NOTIFICATION_NT 3.x来运行和在Window... 头文件:Winuser.h;库文件:USer32.URicode:在Windows NT上实现为Unicode和ANSI两...===========================================首先 bmp实现是一个接口 不是标准C语言本身支持的事情 你要先确定平台 比如windows下面的话有加载和显示的过程 你若想知道更深入要看看显示windows画笔===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助深入win32调试api(下)window API 编程 c语言实现 第三十三讲
发表于 20:30:14199次阅读0 条评论作者rain
这一讲,也是我们关于window的调试的API函数的最后一讲了。我们将更加深入的讨论关于window的应用程序中,调试API方面的知识。让大家更加深入的学习和了解、掌握关于window的这些调试API函数哦。如果你以前使用过调试器,那么你应对跟踪比较熟悉。当"跟踪"一个程序时, 程序在每执行一条指令后将会停止,这使你有机会去检查寄存器/内存中的值。这种单步运 行的官方定义为跟踪(tracing)。单步运行的特色是由CPU本身提供的。标志寄存器的第8位称为陷阱标志trap flag。 如果该位设置,则CPU运行于单步模式。CPU将在每条指令后产生一个debug异常。当debug 异常产生后,陷阱标志自动清除。利用win32调试api,我们也可以单步运行被调试程序。 方法如下:调用GetThreadContext, 指定 ContextFlags为CONTEXT_CONTROL, 来获得标志寄存器的值设置CONTEXT结构成员标志寄存器EFlags中的陷阱标志位调用 SetThreadContext等待调式事件。被调试程序将按单步模式执行,在每执行一条指令后,我们将得到调试 事件,u.Exception.pExceptionRecord.ExceptionCode值为EXCEPTION_SINGLE_STEP如果要跟踪下一条指令,需要再次设置陷阱标志位。下面我们来看看具体的一个代码,实现,然后结合我们的给出的代码,接着分析。#include &Windows.h&#include &tchar.h&TCHAR AppName[] = _T(&Win32 Debug Example no.4&);OPENFILENAMETCHAR FilterString[] = _T(&Executable Files\0*.exe\0All Files\0*.*\0&);TCHAR ExitProc[] = _T(&The debuggee exits\r\nTotal Instructions executed : %lu&);DWORD TotalITCHAR buffer[512];STARTUPINFOPROCESS_INFORMATIONDEBUG_EVENT DBECONTEXTint WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
ofn.lStructSize = sizeof (ofn);
ofn.lpstrFilter = FilterS
ofn.lpstrFile =
ofn.nMaxFile = 512;
ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_LONGNAMES |OFN_EXPLORER |OFN_HIDEREADONLY;
if(GetOpenFileName(&ofn))
GetStartupInfo(&startinfo);
CreateProcess(buffer,NULL,NULL,NULL,FALSE,DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS,NULL,NULL,&startinfo,&pi);
while(TRUE)
WaitForDebugEvent(&DBEvent,INFINITE);
if(DBEvent.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT)
wsprintf(buffer,ExitProc,TotalInstruction);
MessageBox(NULL,buffer,AppName,MB_OK|MB_ICONINFORMATION);
else if(DBEvent.dwDebugEventCode == EXCEPTION_DEBUG_EVENT)
switch(DBEvent.u.Exception.ExceptionRecord.ExceptionCode)
case EXCEPTION_BREAKPOINT:
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext(pi.hThread,&context);
context.EFlags |= 0x100;
SetThreadContext(pi.hThread,&context);
ContinueDebugEvent(DBEvent.dwProcessId,DBEvent.dwThreadId,DBG_CONTINUE);
case EXCEPTION_SINGLE_STEP:
TotalInstruction++;
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext(pi.hThread,&context);
context.EFlags |= 0x100;
SetThreadContext(pi.hThread,&context);
ContinueDebugEvent(DBEvent.dwProcessId,DBEvent.dwThreadId,DBG_CONTINUE);
ContinueDebugEvent(DBEvent.dwProcessId,DBEvent.dwThreadId,DBG_EXCEPTION_NOT_HANDLED);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;}接下来,我们来分析一下我们的代码实现,这样可以让我们更好的学习关于window的调试API方面的知识。更加深入的了解这些window的调试API方面的内容,对于我们今后的window的应用程序 的开发方面的东西还是非常有帮助的哦。该程序先显示一个打开文件对话框,当用户选择了一个可执行文件,它将单步执行该程序, 并记录执行的指令数,直到被调试程序退出运行。
else if(DBEvent.dwDebugEventCode == EXCEPTION_DEBUG_EVENT)
switch(DBEvent.u.Exception.ExceptionRecord.ExceptionCode)
case EXCEPTION_BREAKPOINT:利用该机会来设置被调试程序为单步运行模式。记住,在执行被调试程序的第一条指令前 windows将发送一个EXCEPTION_BREAKPOINT消息。
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext(pi.hThread,&context);调用GetThreadContext,以被调试程序的当前寄存器内容来填充CONTEXT 结构 特别地,我们需要标志寄存器的当前值。
context.EFlags |= 0x100;设置标志寄存器映象的陷阱位(第8位)
SetThreadContext(pi.hThread,&context);
ContinueDebugEvent(DBEvent.dwProcessId,DBEvent.dwThreadId,DBG_CONTINUE);
然后调用SetThreadContext去覆盖CONTEXT的值。再以DBG_CONTINUE调用 ContinueDebugEvent 来恢复被调试程序的运行。
case EXCEPTION_SINGLE_STEP:
TotalInstruction++;当调试程序中一条指令执行后,我们将接收到EXCEPTION_DEBUG_EVENT的调试事件, 必须要检查u.Exception.pExceptionRecord.ExceptionCode的值。如果该值为 EXCEPTION_SINGLE_STEP,那么,该调试事件是单步运行模式造成的。在这种情况 下,TotalInstruction加一,因为我们确切地知道此时被调试程序执行了一条指令。
GetThreadContext(pi.hThread,&context);
context.EFlags |= 0x100;
SetThreadContext(pi.hThread,&context);
ContinueDebugEvent(DBEvent.dwProcessId,DBEvent.dwThreadId,DBG_CONTINUE);
}由于陷阱标志在debug异常后自动清除了,如果我们需要继续保持单步运行模式,则 必须设置陷阱标志位。好了,今天关于window的深入win32调试api(下)window API 编程 c语言实现 第三十三讲我们就暂时为大家讲解到这里。不知道大家通过我们这三讲关于window的API调试函数的讲解,是否对于window的调试方面的东西多多少少有学习和掌握了呢?
技术文章排行榜
免责声明:本站部分信息来自互联网及个人自行提供,所有信息内容的真实性、准确性和合法性,请自辨别,使用仅供方便各界IT人士学习参考,切勿用于非法用途,否则后果自负。
若发现侵害了您的权益,请联系我们的邮箱:
Copyright (C) ,,All Rights Reserved&&&&浙ICP备号-4&&&&用编程语言如c语言编程怎么样生产正真的软件,不是win32控制台那种黑黑的对话框,哪里有讲解这些的_百度知道
用编程语言如c语言编程怎么样生产正真的软件,不是win32控制台那种黑黑的对话框,哪里有讲解这些的
用编程语言c语言编程产真软件win32控制台种黑黑框哪讲解些
c语言底层系统发驱发类自没windows窗口程序写要调用api函数太麻烦般窗口函数发都用面向象语言比说c++mfc或者javavb等c语言基础看看c++mfc
来自团队:
其他类似问题
为您推荐:
其他2条回答
亲~想用c需要做图形界面应用程序吧建议习vc++或者c#或者java按照教程做能做类似计算器程序楼主像些误解种黑黑框名叫控制台应用程序属于真软件程序重要算说种黑框般编写服务程序或者库程序比较用
Window编程 或 MFC 都可以写出软件
c语言编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求高手,c语言程序设计时,当按键盘左键时,是选择1;按键盘右键时,是选择2;这样的编程该怎么编啊?_百度知道
求高手,c语言程序设计时,当按键盘左键时,是选择1;按键盘右键时,是选择2;这样的编程该怎么编啊?
提问者采纳
右箭键 左箭键 或 右箭键 按键产<img class="word-replace" src="/api/getdecpic?picenc=0a5f字符字符编码同系统能同需要预先测定我xp英文系统左箭键 0xe0
(十进制 224 75)右箭键
0x4d (十进制 224
77)获取:#include&stdio.h& #include&conio.h& int key,key2;int flag=0;key = getch();if (key==0xe0) {key2=getch();if (key2 == 0x4b) flag=1;if (key2 == 0x4d) flag=2;} else { };flag
选择注意系统 比较 键 值 能 要取位(取字节)例:
(key & 0xff) ==0xe0)
提问者评价
谢谢你的耐心解答,好详细呀
其他类似问题
为您推荐:
其他2条回答
建议查阅ASCII码键盘左右键取值别少看看能能完编程
Ascll没有左键的额
看看有没有借鉴之处哦。
这应该需要写按键驱动了吧,加载到内核,干嵌入式的话才写这种程序!!
您可能关注的推广
c语言程序设计的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁计算机C语言编程教程 第三章 常用控件_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
计算机C语言编程教程 第三章 常用控件
上传于||文档简介
&&计&#8203;算&#8203;机&#8203;C&#8203;语&#8203;言&#8203;编&#8203;程&#8203;教&#8203;程
大小:329.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 windows c语言 的文章

 

随机推荐