Ⅰ 谁能描述下 用c语言编写软件的全过程(控制台到有窗口的软件)
你用控制台来测试你的核心功能,你可以使用windows的MFC来编写界面窗口,然后再界面窗口中调用核心功能中的函数来完成需要的功能!
Ⅱ c语言控制台编程
相关定义在头文件"consoleapi2.h"中. 可以通过包含Windows.h来包含该文件, 如果不行则是个人操作的问题.
Ⅲ c语言 控制台程序 拖动文件到窗口 怎么获取文件路径
你再到程序里点MSN,则已经启动的MSN窗口会显示出来,这个是怎么做到的。
--------------------------------------------------------------------------------
答:Mutex
--------------------------------------------------------------------------------
答:我是说如果有MSN的进程存在,则把现有的窗口显示出来,这个是怎么做的。
--------------------------------------------------------------------------------
答:很多办法,用mutex也可以实现。比如两个mutex就可以解决了,不过需要多一个线程来处理。程序将mutex1锁住,等待mutex2,程序再运行发现mutex1已经锁住,则释放mutex2,原来运行的程序mutex2受信,则调出主窗口,然后继续等待再次受信。
--------------------------------------------------------------------------------
答:查找是否有msn的Mutex,如果有,再查找msn的进程,然后,**它,这个也可以吧
--------------------------------------------------------------------------------
答:Semaphore也行
--------------------------------------------------------------------------------
答:FindWindow然后ShowWindow啊
--------------------------------------------------------------------------------
答:toxharry(charry):如何**?人家楼主问是这个。toicr_mio(Logos):这种方法不好,因为可能有重名窗口,除非可以通过HWND或者PID,但我不知道能不能实现。
--------------------------------------------------------------------------------
答:不好意思,打错了:“除非可以通过HWND获得PID”
--------------------------------------------------------------------------------
答:HANDLEhMutex=CreateMutex(NULL,TRUE,str);//str--mutexnameif(hMutex==NULL¦¦GetLastError()==ERROR_ALREADY_EXISTS)
--------------------------------------------------------------------------------
答:楼上正解
--------------------------------------------------------------------------------
答:MSN不是用互斥量的MSN是基于COM的,只要类厂维持一个msn对象就可以了。
--------------------------------------------------------------------------------
答:如果该程序是始终有窗口的,我们可以通过查找它的窗口的句柄,**它用FindWindow如果它缩小到了Tray上了,我们可定义一个消息,程序收到该消息就显示窗口
--------------------------------------------------------------------------------
答:楼主的意思好像是针对进程只开一个问题,你自己程序写一下不就可以啦,跟具体MSN里面内核没关系。
--------------------------------------------------------------------------------
答:检查进程用FindWindow
--------------------------------------------------------------------------------
答:这是BCB的,懂这意思就可以void__fastcallTYZClient::FormCreate(TObject*Sender)Application->ShowMainForm=false;Application->Terminate();return;}elseCreateMutex(NULL,false,Application->Title.c_str());......}
另外,团IDC网上有许多产品团购,便宜有口碑
Ⅳ C语言打开控制台的代码
你是不是还在编辑状态,如果是,那输入回车当然跳到下一行了.
你确定在控制台中回车是运行吗?
什么控制台,请将清楚.
Ⅳ 如何将c:\Windows里所有控制台应用程序复制到e:\,最好用bat代码
从表面上来看:控制台程序运行时是在DOS环境下,或者模拟dos环境运行的程序,运行时一般会启动一个提示符窗口。
而应用程序是Windows环境下的窗口程序。运行时一般会启动一个窗口画面。(例外,病毒木马,就不显示窗口,这决定于是否创建了窗口,或者是否让窗口显示)
但是,实质上,windows应用程序和控制台应用程序的真正区别是,PE文件的结构不同,这点不需要我们去关心,编译器会根据你的选择去构建生成的exe文件的PE结构。
如何告之编译器你的选择?在编译器进行连接的时候,给它一个连接参数:
subsystem:windows或者subsystem:console来告诉它。对于大多数编程工具来说一般在“工程->设置->连接”这个表单里面就可以看到这个参数。
但是通常在我们要创建一个新的工程的时候,编译器会让我们事先选择好是创建windows应用程序还是创建控制台应用程序。这个参数的设置就不用我们操心了。
补充(你可以不看,有点复杂了):事实上,控制台程序依然还有区别,那就是,16位的可以在DOS操作系统环境中运行的DOS程序(也可以在window运行通常windows会模拟一个dos环境,这时你会程序窗口与平时的提示符窗口明显不一样),和 32位通常只能在windows操作系统中运行的程序。通常32位控制台在DOS下运行,它的PE结构中会给予DOS环境下运行的一个入口点(DOS文件头),这个入口点只有“一行”代码:"This program cannot be run in DOS mode"
而在32位系统下,操作系统将将查看PE文件头里面的subsystem字段来获得程序将以什么方式运行(windoes或者console)这个字段里面指示了子系统(CUI对应控制台,GUI对应普通程序,驱动程序等没有子系统)32位的控制台程序当然可以调用PAI函数,而16位的DOS程序则不可以调用API函数。
再补充关于编译器的一点内容:通常大学里面学习C,c++时,最常用的是VC6.0
TC++3.0 和 TC2.0 VC6.0只能写32位程序。(也就是不能写Dos程序)
而TC++3.0 和 TC2.0这两个编译器是16位的编译器,不能写窗口程序(因为调用不了API(之所以调用不了,固然是编译器的限制,但实质是编译器根本不去使用32位寄存器))
那么,如何才能写一个即可以在DOS运行,又可以在windows下运行的程序(还要带窗口)?那就是要修改exe的PE文件结构,使用人工方法粘贴代码。复杂了,不说了......
Ⅵ C语言 设置控制台窗口的位置。
win10下,右击cmd标题栏 可以设置
Ⅶ c++如何用在win32控制台应用程序中进行菜单编辑
控制台程序不能用菜单。。
除非用turbo c
还是去学win32应用程序吧
Ⅷ c语言怎么写一个图形化工具箱(不是控制台程序)
工具箱是什么
c语言图形化编程叫sdk编程,也就是c语言加api,在头文件里包含windows.h
Ⅸ C语言 控制台程序
不想调用控制台入口换winmain
底层的编译,在编译成目标文件之后,不要链接成内可执行文容件,生成别的
二进制文件
或者。。像
Linux内核
一样,编译成可执行文件,装载入内存,然后用内存镜像拷贝出纯二进制文件。。等等方法
至于编译驱动有另外更加专业的方法咯。。