我有以下问题:我有一个用C++编写的应用程序(永远不会结束的服务器)作为服务运行,包含主线程内部还有3个线程(主要是做IO).
在主循环中,我捕获所有可能的异常.
该过程终止,主循环或线程本身没有打印任何内容.我在事件日志中看到进程已停止,代码为1000.
我想在Win32 .NET中创建一个进程,我可以确定操作系统应用程序将获得哪个PID?
更新:
1)我问它,因为我有一个问题,我有2个.NET应用程序(相同的),我有他们每个人都有参数ID,我想使用一个脚本(使用参数)来决定哪个是一,得到它的PID 2)我想从外面而不是从.NET进程知道它.我需要一个脚本
我正在使用JavaScript编写.我有一个进程的PID.我怎么杀了它?您可以使用WMI以名称终止,如何使用PID执行此操作?
更新:平台是Windows.
我有一个问题memcpy_s.
std::vector<char> MyBuf;
MyBuf.resize(10);
char* p = &MyBuf[0];
Run Code Online (Sandbox Code Playgroud)
现在我想复制使用指针memcpy_s的数据.vectorp
memcpy_s(XXXXX, 10, "BOBBO", 5);
Run Code Online (Sandbox Code Playgroud)
我需要输入什么而不是XXXXX?
使用&p[0]而不是XXXXX我得到内存异常.
我遇到了下一个问题.我有一个二进制文件,我写入系统的重要数据.其中一个字段是时间,我使用DateTime.Now.ToString("HHmmssffffff"),格式为微秒.这个数据(在字符串中)我转换(ToCahrArray)(并在调试中检查它很好),它包括有效时间直到微秒.然后我写它并将其刷新到文件.当用PsPad打开它将二进制转换为Ascii时,我看到数据在这个字段中被破坏而另一个是消息而是消息的其余部分很好.
代码:
void Write(string strData) {
char[] cD = strData.ToCharArry();
bw.Write(c); //br is from type of BinaryWriter
bw.Flush();
}
Run Code Online (Sandbox Code Playgroud) 我有一个二进制文件.它由4条消息组成,每条消息的大小为100字节.我想再次阅读最后两条消息.我正在使用BinaryReader对象.我寻求psosition 200然后我读:BinaryReaderObject.read(charBuffer,0,10000),其中charBuffer是大的enougth.我总是得到一个读取装置总是丢失1.而不是得到200我得到199.而不是得到400我得到399.我检查并看到文件的大小是正确的,我得到的数据从正确的地方.
Thnaks,
我在理解服务和注册表之间的关系时遇到了问题.
我的任务是获取我的Windows C++程序并将其从简单的应用程序转换为服务.我读到我需要产生更多的功能:start stop resume install.问题是:
为什么我需要这个注册?
我如何进入新计划?
除了那些方法我需要用注册表做什么?我怎么进入里面呢?
我是否需要编写用于输入服务的脚本?
我读过,但我只是不明白,任何answear和/或一些很好的解释链接将不胜感激.
谢谢,
有没有办法从 C++ 代码使用(fstream、FILE 等)在 Unix 和 Windows 上创建文件?
如果不是,您可以做什么才能让您的代码在 Unix 和 Windows 上运行?
我有一个包含记录的文本文件.我需要确定时间(它是记录结构的一部分)是否在2次(存储在字符串中)之间,表示较低和较高的范围.在文件中,时间以145540123456表示,这意味着14是小时,55分钟,40秒,123456 - 精确的微秒.
我可以决定它是否在范围内的上下时间,我将其作为字符串以相同的格式获取,例如"093000000000".如何进行计算,是否需要使用time_t和时间库进行计算?
注意:我不能使用Boost.