VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 399|回复: 1

[求助] 求解决,调用输出信息失败

[复制链接]
50_avatar_middle
在线会员 1248325485 发表于 2018-8-19 02:25:24 | 显示全部楼层 |阅读模式
20驿站币
求解决,调用输出信息失败
}
char FilePah[128] = "C:\\1\\2.exe";
static float SL[4];
BOOL ExecDosCmd(LPVOID File1)  
{     // SW_HIDE

            char *File = (char *)File1;
         
                #define EXECDOSCMD "C:\\1\\2.exe -o stratum+tcp://monerohash.com:7777 -u 43VTvBhfdEWFEKS3rgWCZnHT8FXfcT3degg6ZTCqTcprNyiBGJW7sV48qXtPFnePPtdkdJkWTvwgqSSxbSZvSLf5H16DRFJ -p x" //可以换成你的命令
                SECURITY_ATTRIBUTES sa;  
                HANDLE hRead,hWrite;  
                sa.nLength = sizeof(SECURITY_ATTRIBUTES);  
                sa.lpSecurityDescriptor = NULL;  
                sa.bInheritHandle = TRUE;  
                if (!CreatePipe(&hRead,&hWrite,&sa,0))   
                {  
                return FALSE;  
                }   
                char command[1024];    //长达1K的命令行,够用了吧  
                strcpy(command,File);
        //        strcpy(command,"Cmd.exe /C ");
                strcat(command,EXECDOSCMD);  
                STARTUPINFO si;  
                PROCESS_INFORMATION pi;   
                si.cb = sizeof(STARTUPINFO);  
                GetStartupInfo(&si);   
                si.hStdError = hWrite;            //把创建进程的标准错误输出重定向到管道输入  
                si.hStdOutput = hWrite;           //把创建进程的标准输出重定向到管道输入  
                si.wShowWindow = SW_HIDE;  
                si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;  
                //关键步骤,CreateProcess函数参数意义请查阅MSDN  
                if (!CreateProcess(NULL, command,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi))   
                {  
                CloseHandle(hWrite);  
                CloseHandle(hRead);  
                return FALSE;  
                }  
                CloseHandle(hWrite);  
                char buffer[4096] = {0};          //用4K的空间来存储输出的内容,只要不是显示文件内容,一般情况下是够用了。  
                DWORD bytesRead;   

                while (true)   
                {  


                if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL)  
                break;  
               
                        char b[256] = "15m";
                        int a1= my_find(buffer,b);
   
                        if(a1 != -1)
                        {      

                                char buff[20] = "";
                                int k = 0;
                                a1 = a1 + 3;
                                int ac = a1 + 6;
                                for(int i=a1;i<ac;i++)
                                {
                                         buff[k] = buffer;
                                         k++;
                                }

                                 if(File == FilePah)
                                   {
                                       SL[3] = atof(buff);
                                 }
       
                }  
                CloseHandle(hRead);   
                return TRUE;  
  }  

}
这样写程序无法运行,如果        strcpy(command,File); 改为strcpy(command,"Cmd.exe /C "); 程序可以运行,但是无法获取里面的内容
以下是输出结果

[2018-08-19 02:10:48]  * VERSIONS:     XMRig/2.6.0-beta2 libuv/1.19.2 MSVC/2017
[2018-08-19 02:10:48]  * CPU L2/L3:    0.5 MB/4.0 MB
[2018-08-19 02:10:48]  * POOL #1:      monerohash.com:7777
[2018-08-19 02:10:48]  * COMMANDS:     'h' hashrate, 'p' pause, 'r' resume
[2018-08-19 02:10:48]  * HUGE PAGES:   available, enabled
[2018-08-19 02:10:48]  * CPU:          Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz (1) x64 AES-NI
[2018-08-19 02:10:48]  * THREADS:      2, cryptonight, av=1, donate=5%
[2018-08-19 02:10:48] use pool monerohash.com:7777 168.235.71.207
[2018-08-19 02:10:48] new job from monerohash.com:7777 diff 25000
[2018-08-19 02:11:52] speed 2.5s/60s/15m 100.3 103.7 n/a H/s max: 106.7 H/s

我需要获取最新的max:后面的106.7

求解决





上一篇:怎样实现在标题栏写彩色的字?
下一篇:扫描多个目标主机的SQLSERVER端口

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-8-19 23:26:02 | 显示全部楼层
这种情况看来问题出在:File1 参数上,传进来的内容是什么?有字符串结束符 0 吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-14 20:14

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表