小编kam*_*mpi的帖子

如何在C++中捕获ping的返回值

有谁知道,如何在c ++中捕获ping的返回值?根据此链接:ping应该0成功返回,1例如未知主机,非法数据包大小等故障以及2无法访问的主机或网络.

在C++中,我用ping调用了system ()例如int ret = system("ping 192.168.1.5");.

我的问题是,这个ret价值是01.永远不会2!如果我认为正确,这是因为,我得到的这个返回值是系统函数的返回值,而不是ping的.那么我怎么能得到ping的回报呢?

提前致谢!

kampi

编辑:现在我使用这个系统("ping 192.169.1.5> ping_res.txt"); 但我不想使用文件(打开,并阅读它们),这就是为什么我要捕获,返回值,如果可能的话:)

c++ windows

3
推荐指数
1
解决办法
8781
查看次数

如何在按ESC或ALTF + F4时禁用MFC应用程序退出?

我有一个MFC应用程序,我不想在运行期间关闭它.我已禁用右上角的"X"图标,但现在如果我按下ESC键,或ALT + F4它仍然关闭.

我怎么能禁用它,所以如果有人按这些键它不会关闭?程序运行完毕后,我想重新启用它们.

谢谢,
kampi

c++ windows mfc

3
推荐指数
1
解决办法
1888
查看次数

如何在不注销或重启PC的情况下安装字体?

有没有办法或API在PC上为每个用户安装字体,而无需注销或重新启动PC?

c windows fonts

3
推荐指数
1
解决办法
4500
查看次数

如何从注册表中读取REG_BINARY值相关值?

在注册表中有一个(或多个)密钥,具体取决于您拥有的监视器HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\DEL404C\{Some Unique ID}\Device Parameters\EDID数量REG_BINARY key.在我的情况下,这是:

00 FF FF FF FF FF FF 00 10 AC 4C 40 53 43 34 42 34 14 01 03 0A 2F 1E 78 EE EE 95 A3 54
4C 99 26 0F 50 54 A5 4B 00 71 4F 81 80 B3 00 01 01 01 01 01 01 01 01 01 01 21 39 90 30 
62 1A 27 40 68 B0 36 00 DA 28 11 00 00 …
Run Code Online (Sandbox Code Playgroud)

c c++ windows registry

2
推荐指数
1
解决办法
6240
查看次数

Windows窗体应用程序中的链接器错误

我正在尝试制作我的第一个Windows窗体应用程序.我正在尝试建立SQL连接,所以我插入了我的SQL函数,它在控制台应用程序中完美运行.我重写了一点,但是现在,我收到链接器错误,我不知道为什么.

有人可以帮助我,我做错了什么?

谢谢!

误差修改:

Error 3 error LNK2028: unresolved token (0A000023) "extern "C" short __stdcall SQLGetData(void *,unsigned short,short,void *,long,long *)" (?SQLGetData@@$$J224YGFPAXGF0JPAJ@Z) referenced in function "private: bool __clrcall Test_WindowsForm::Form1::ExecuteSQLCommand(void)" (?ExecuteSQLCommand@Form1@Test_WindowsForm@@$$FA$AAM_NXZ) Test_WindowsForm.obj

Error 4 error LNK2028: unresolved token (0A000024) "extern "C" short __stdcall SQLFetch(void *)" (?SQLFetch@@$$J14YGFPAX@Z) referenced in function "private: bool __clrcall Test_WindowsForm::Form1::ExecuteSQLCommand(void)" (?ExecuteSQLCommand@Form1@Test_WindowsForm@@$$FA$AAM_NXZ) Test_WindowsForm.obj

Error 5 error LNK2028: unresolved token (0A000025) "extern "C" short __stdcall SQLRowCount(void *,long *)" (?SQLRowCount@@$$J18YGFPAXPAJ@Z) referenced in function "private: bool __clrcall Test_WindowsForm::Form1::ExecuteSQLCommand(void)" (?ExecuteSQLCommand@Form1@Test_WindowsForm@@$$FA$AAM_NXZ) Test_WindowsForm.obj

Error 6 error …

c++ c++-cli linker-errors

2
推荐指数
1
解决办法
3777
查看次数

如何在Visual Studio中向已编译的exe中添加版本信息?

我有一个C++控制台应用程序,我想在exe中添加一个版本号.如果这个版本会随着每个版本自动递增,那就更好了.这在Visual Studio 2013中是否可行?

谢谢!

windows visual-studio-2013

2
推荐指数
1
解决办法
4810
查看次数

为什么va_start会失败?

我想创建一些日志记录,然后我创建了一个类.但是我将参数传递给它有一些问题.

类:

namespace debug
{
    class log
    {
        private:    // Members
            const std::string context;
            int Type;
        public:     // Methods
            void message( int Type, const std::string& message, ... );

        public:     // Constructor, Destructor
            log( const std::string& context, int Type );
            ~log();
    };//class log
}//namespace debug     

namespace debug
{
    void log::message( int Type, const std::string& message, ... )
    {
        va_list args;
        int len;

        char    *buffer;

        va_start( args, message );

        len = _vscprintf( message.c_str(), args ) + 1; // _vscprintf doesn't count terminating …
Run Code Online (Sandbox Code Playgroud)

c++ windows macros

2
推荐指数
1
解决办法
1300
查看次数

WriteFile函数"冻结"

我正在尝试重写xCmd,它可以在远程计算机上启动进程.基本上,它将自身安装为目标计算机上的服务,然后启动所请求的进程.一切都很好,但我注意到一个错误.xCmd通过管道进行通信,它使用WriteFile().我的问题是,如果我运行我的API(或最初,都产生此错误),那么它将首次启动请求的进程,但如果我再次启动它,那么它将"冻结"在这一行:

WriteFile( hCommandPipe, &msg, sizeof(msg), &dwTemp, NULL );
Run Code Online (Sandbox Code Playgroud)

WriteFile没有返回任何错误代码,程序就在这里停止.我甚至无法关闭cmd窗口.当我关闭目标计算机上的服务时,我只能关闭它.任何人都可以帮我解决这个问题吗?这真烦人,我不知道:(

这是功能无法正常工作:

 BOOL ExecuteRemoteCommand()
 {
 DWORD dwTemp = 0;
 xCmdMessage msg;
 xCmdResponse response;

 ::ZeroMemory( &msg, sizeof(msg) );
 ::ZeroMemory( &response, sizeof(response) );

 FillMessage( &msg );

 // Send message to service
 WriteFile( hCommandPipe, &msg, sizeof(msg), &dwTemp, NULL );

 // Connects to remote pipes (stdout, stdin, stderr)
 if ( ConnectToRemotePipes( 5, 1000 ) )
 {
   StdOutput( _T("Ok\n\n") );

    // Waiting for response from service
    ReadFile( hCommandPipe, &response, sizeof(response), &dwTemp, NULL );
 }
 else
    StdOutput( …
Run Code Online (Sandbox Code Playgroud)

c++ windows

1
推荐指数
1
解决办法
3513
查看次数

为什么我的应用程序在复制大文件时会冻结?

我有一个MFC应用程序.基本上只是将文件从一个驱动器复制到另一个驱动器.当我复制大文件(超过1 Gb)并单击我的窗口时,我的应用程序冻结,但复制在后台进行.有人告诉我,我必须使用工作线程.我用它,但它仍然冻结.当我复制小文件时,就可以了.我无法弄清楚可能是什么问题.请有人帮忙!

这是我的代码:

void CGetFileListDlg::OnBnClickedButtonGetFileList()  
{
 //here i'm doing file list comparing
 AfxBeginThread( CopyThread, &Tstruct ); //here i call my thread and give a struct to it as a paramter, which contains, which file i have to copy
}   

UINT CopyThread( LPVOID pParam )
{
UINT uiMaxPass = 3;
UINT uiPAssCount = 0;
int i = 0;

threadstruct *Test = (threadstruct*)(pParam);
CGetFileListDlg* ptr = (CGetFileListDlg*)Test->ez ;

struct address
{
    char *from;
    char *to;
    int current;
};

struct address Address;


for …
Run Code Online (Sandbox Code Playgroud)

c windows mfc multithreading

1
推荐指数
1
解决办法
274
查看次数

如何在 C/C++ 中以编程方式创建计划任务?

我创建了一个小应用程序来进行一些设置。我想在用户登录 Windows 之前启动此应用程序。不幸的是我没有找到这个问题的任何解决方案,所以我想我可以创建一个计划任务。不幸的是我也没有找到任何解决方案。所以我的问题是,有人可以帮助我吗?我会采纳任何帮助、想法或例子。基本上我的问题是,如何在用户登录 Windows 之前启动应用程序?值得一提的是,我需要在 Windows XP 上这样做!

c windows scheduled-tasks

0
推荐指数
1
解决办法
1万
查看次数