草庐IT

c++ - 崩溃时以编程方式重新启动应用程序

我有一个用C++编写的Windows应用程序,有时会崩溃。有没有办法以编程方式忽略模态对话框并自动重新启动应用程序? 最佳答案 我从病毒中学到的东西:使用服务来检查您的应用程序是否正在运行。如果该服务检测到应用程序未运行,则启动该应用程序。随心所欲地实现服务。 关于c++-崩溃时以编程方式重新启动应用程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8359599/

c++ - 服务器套接字如何使用C++在Windows中拔出网络电缆

我正在使用c++和winsocklib在Windows中开发客户端服务器应用程序它工作正常但是如果它在网络上并且一旦服务器监听开始并且如果我移除网络电缆那么服务器不会在任何线程中显示任何错误所以服务器在哪里socket知道网络电缆已拔出。如果有人知道请帮助我。 最佳答案 虽然应该可以检测到主机上的网络电缆已拔掉,但如果网络在服务器和客户端之间的其他地方中断,您仍然会遇到同样的问题。解决此问题的一种常见(如果不是最常见的话)方法是发送“保持事件”消息。如果在一段时间内没有收到对该消息的回复,您只需关闭连接并释放与其关联的所有资源。编辑

c++ - 如何查看文件夹中有多少个文件?

我想查看指定目录中有多少个文件。例如,我的.exe旁边有一个名为resources的目录,我想检查其中有多少.txt文件。这如何在Windows中用C++完成? 最佳答案 我会使用boost::filesystem。甚至还有一个sampleprogram这已经为您完成了大部分工作。 关于c++-如何查看文件夹中有多少个文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8733

c++ - 以编程方式在 C++ 中查找用户名?

我正在创建一个小应用程序,它可以简化MSWord中的一些任务。应用程序必须作为宏导入到Word中,这意味着必须存储在用户下的某个模板文件夹中。所以我不想知道如何知道用户名是什么,以及windows版本是什么,因为我的用户名和文件夹位置与某人不同别的。是否有任何小的bat代码或c++中的某些函数可以轻松获取这两个信息并将其存储在变量中,以便我在安装应用程序时可以轻松使用它?操作系统:win7、vista、xp 最佳答案 要获取用户名,您可以使用GetUserName()功能。但是,这不是确定当前用户文件夹位置的最佳方法。为此使用类似S

c++ - 知道路径是指 C++ 中的文件夹还是文件的最便宜的方法是什么?

我正在使用shell扩展覆盖处理程序,系统会向我传递一个我知道有效的路径,但我不知道它是文件夹还是文件。这个操作可能会被相对频繁地调用,所以我想尽可能便宜地确定它是一个文件还是一个文件夹。使用C++(特定于Windows可以满足我的要求),我怎样才能最好地完成这项工作? 最佳答案 GetFileAttributes()将提供此信息:constDWORDresult=GetFileAttributes("C:\\path\\x");if(INVALID_FILE_ATTRIBUTES==result){std::cerr

c++ - 将 DLL 作为 exe 启动

是否可以将native(C++)DLL作为可执行文件加载?最好直接从内存中提取,而不在硬盘驱动器或类似的东西上创建EXE? 最佳答案 Microsoft提供Rundll32.exe可用于执行已明确编码以支持此用法的DLL函数。 关于c++-将DLL作为exe启动,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9039895/

c++ - 将 win32 代码 (windows.h) 移植到 linux

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我正在开发一个C++项目,其中有一堆VisualStudio生成的项目文件,我想将它们移植到Linux。我本质上是在Windows上的多个文件中使用windows.h头文件。现在,我不确定,因为明确不存在linux.h文件(如果存在,请指导我在哪里查看)。在linux上,我使用EclipseCDT进行开发。关于它在Linux上如何工作,我有两个想法,但我希望您的输入知道正确的方向是什么:(1)删

c++ - 在 C 中我可以将 void* 分配给 char* 但在 C++ 中不行

如果文件是.cMSVC将编译。如果是.cpp,它“无法从‘void*’转换为‘unsignedchar*’”我在windows.h中使用MEMORY_BASIC_INFORMATION::BaseAddress,它是void*,将其分配给char*所以我可以看到你知道的实际地址?当我将它转换为char*,然后返回到void*(在Windows函数中使用它)时,它会出现错误并丢失数据或其他东西怎么办? 最佳答案 在C++中,您必须使用显式强制转换来转换void*其他任何事情:void*vp;unsignedchar*cp=static

c++ - 为 SetWaitableTimer 设置相对时间时的算术溢出

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686289%28v=vs.85%29.aspx我希望计时器从当前时间开始发出信号5分5秒,但是当我将LARGE_INTEGER的QuadPart设置为-3050000000时,变量溢出,当我打印出来时,它显示为1244967296。我应该怎么办如何让它在当前时间后5分5秒(或更多)发出信号?LARGE_INTEGERli;li.QuadPart=-3050000000;printf("%ld\n",li); 最佳答案

c++ - vim初学问题

问题#1:如果我有这样的C++代码#includeusingnamesapcestd;intmain(){inta;cin>>a;cout我不知道这是否被调用(调试、编译或构建),但我只想在gvim中运行这个程序,这样我就可以给它输入并查看输出,并查看诸如“缺失”之类的错误';'"或"missing'}'"(就像我在“Code::Blocks”中单击F9时发生的情况)。exe文件,其他的对我来说不重要。问题#2:如果我有一个每次都这样写的C++代码#include#include#include#includeusingnamespacestd;如何让vim在每次用vim打开.cpp文