社区
C++ Builder
帖子详情
求救:关于net send,net view或者ipconfig之类命令的
limu810812
2003-08-29 11:13:07
如何调用例如net send,net view或者ipconfig……之类的命令,并且把结果用控件显示?
...全文
50
8
打赏
收藏
求救:关于net send,net view或者ipconfig之类命令的
如何调用例如net send,net view或者ipconfig……之类的命令,并且把结果用控件显示?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
limu810812
2003-08-30
打赏
举报
回复
谢谢各位了!
不好意思分数少了点,以后再提问的时候会注意的。
今天晚上来结帖
jingrunx
2003-08-30
打赏
举报
回复
RedirectOutput(NULL, edtCommandLine->Text.c_str(),
OutputMemo->Lines, ErrorMemo->Lines,
cbxShowWindow->Checked ? SW_SHOW : SW_HIDE);
不过你给的分太少了
jingrunx
2003-08-30
打赏
举报
回复
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <algorithm>
using namespace std;
#include "RedirectThread.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
__fastcall TRedirectThread::TRedirectThread(bool CreateSuspended, HANDLE hHandle, TStrings* Strings)
: TThread(CreateSuspended), hRedirect(hHandle), OutputWindow(Strings)
{
FreeOnTerminate = true;
}
//---------------------------------------------------------------------------
void __fastcall TRedirectThread::Execute()
{
char lpszBuf[256];
char *firstp, *lastp, *curp;
DWORD nNumOfBytes, nReadBytes, nLineBytes;
__try {
try {
firstp = lpszBuf;
nNumOfBytes = sizeof(lpszBuf);
while(!Terminated && ::ReadFile(hRedirect, lpszBuf, nNumOfBytes, &nReadBytes, NULL)) {
strBuffer.append(lpszBuf, nReadBytes);
int spos = 0, epos;
while(true) {
epos = strBuffer.find(lpszEnterFlag, spos);
if(epos == -1) break;
strLine.assign(strBuffer, spos, epos-spos);
Synchronize(Update);
spos = epos + strlen(lpszEnterFlag);
}
strBuffer.assign(strBuffer, spos, strBuffer.size()-spos);
}
} catch(EOSError& E) {
}
} __finally {
::CloseHandle(hRedirect);
}
}
//---------------------------------------------------------------------------
void __fastcall TRedirectThread::Update(void)
{
OutputWindow->Add(strLine.c_str());
}
//---------------------------------------------------------------------------
void __stdcall RedirectOutput(
LPTSTR pApplicationName, LPTSTR lpCommandLine,
TStrings* StdOutputStrings, TStrings* StdErrorStrings, WORD swShow)
{
HANDLE hStdOutput, hStdError;
GetCreatedProcessOutHandle(pApplicationName, lpCommandLine, swShow,
&hStdOutput, &hStdError);
if(StdOutputStrings) {
new TRedirectThread(false, hStdOutput, StdOutputStrings);
}
if(StdErrorStrings) {
new TRedirectThread(false, hStdError, StdErrorStrings);
}
}
//---------------------------------------------------------------------------
HANDLE __stdcall GetCreatedProcessOutHandle(
LPTSTR pApplicationName, LPTSTR lpCommandLine, WORD swShow,
PHANDLE hStdOutput, PHANDLE hStdError)
{
HANDLE hStdOutputRead, hStdOutputWrite;
HANDLE hStdErrorRead, hStdErrorWrite;
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
Win32Check(::CreatePipe(&hStdOutputRead, &hStdOutputWrite, &sa, 0));
Win32Check(::CreatePipe(&hStdErrorRead, &hStdErrorWrite, &sa, 0));
STARTUPINFO si;
PROCESS_INFORMATION pi;
si.cb = sizeof(si);
::GetStartupInfo(&si);
si.dwFlags |= STARTF_USESHOWWINDOW;
si.wShowWindow = swShow;
si.dwFlags |= STARTF_USESTDHANDLES;
si.hStdOutput = hStdOutputWrite;
si.hStdError = hStdErrorWrite;
Win32Check(::CreateProcess(pApplicationName, lpCommandLine,
NULL, NULL, TRUE, DETACHED_PROCESS, NULL, NULL, &si, &pi));
Win32Check(::CloseHandle(hStdOutputWrite));
Win32Check(::CloseHandle(hStdErrorWrite));
if(hStdOutput) *hStdOutput = hStdOutputRead;
if(hStdError) *hStdError = hStdErrorRead;
return hStdOutputRead;
}
//---------------------------------------------------------------------------
jingrunx
2003-08-30
打赏
举报
回复
//---------------------------------------------------------------------------
#ifndef RedirectThreadH
#define RedirectThreadH
//---------------------------------------------------------------------------
#include <string>
using namespace std;
#include <Classes.hpp>
//---------------------------------------------------------------------------
void __stdcall RedirectOutput(
LPTSTR pApplicationName, LPTSTR lpCommandLine,
TStrings* StdOutputStrings, TStrings* StdErrorStrings,
WORD swShowWindow = SW_HIDE);
HANDLE __stdcall GetCreatedProcessOutHandle(
LPTSTR pApplicationName, LPTSTR lpCommandLine,
WORD swShowWindow,
PHANDLE hStdOutput, PHANDLE hStdError);
//---------------------------------------------------------------------------
class TRedirectThread : public TThread
{
static const char* lpszEnterFlag;
private:
HANDLE hRedirect;
string strBuffer, strLine;
TStrings* OutputWindow;
protected:
void __fastcall Execute();
void __fastcall Update(void);
public:
__fastcall TRedirectThread(bool CreateSuspended, HANDLE hHandle, TStrings* Strings);
};
const char* TRedirectThread::lpszEnterFlag = "\r\n";
//---------------------------------------------------------------------------
#endif
sprewellkobe
2003-08-29
打赏
举报
回复
PIPE
limu810812
2003-08-29
打赏
举报
回复
能不能具体点,举个例证 谢谢!
nuaacims
2003-08-29
打赏
举报
回复
用ShellExecute方式调用这些命令,然后用管道pipe把结果输出到一个memo之类的文本控件中
FallenAngel
2003-08-29
打赏
举报
回复
你自己搜一下吧
关键字可以是
Pipe 管道
linux下
ipc
onfig
命令
报:command not found 解决方法
问题:当我们输入
ipc
onfig
命令
提示如下问题时怎么解决呢? [root@localhost root]#
ipc
onfig
-bash:
ipc
onfig
: command not found 解决办法:
ipc
onfig
找不到那说明没有将
ipc
onfig
命令
配置到环境变量。 需要配置 1.查看/sbin 是否在PATH 2.使用管理员权限 运行vi /etc/profile 在文件末加入以下语句: 按ctrl+c 并输入:wq 保存并推出 3.输入
命令
:source /etc/.
ipc
onfig
:未找到
命令
ipc
onfig
: 未找到
命令
解决: Centos7.x 中查看网络的
命令
是:ip addr 如果需要使用 ifc
onfig
,请先安装 net-tools yum install net-tools
命令
行计算机
ipc
onfig
,
ipc
onfig
命令
,教您
ipc
onfig
命令
怎么使用
在平时的工作中,我们常常会使用
命令
提示符,而在
命令
提示符中我们最常使用的
命令
要数
ipc
onfig
了。很多用户不知道
ipc
onfig
命令
怎么使用,这就尴尬了。下面,小编跟大家讲解
ipc
onfig
命令
的使用方法。在电脑中通过
命令
提示符执行
命令
ipc
onfig
可以查询电脑ip、mac等配置信息。
ipc
onfig
命令
是调试计算机网络的常用
命令
,通常大家使用它显示计算机中网络适配器的IP地址、子网掩码及默认...
常用的网络
命令
目录 一:ping
命令
二:
ipc
onfig
命令
三:netstat
命令
四:arp
命令
五:net
命令
六:at
命令
七:tracert
命令
八:rote
命令
九:nbtstat
命令
常见的网络
命令
有:ping
命令
,
ipc
onfig
命令
,netstat
命令
,arp
命令
,net
命令
,at
命令
,tracert
命令
,rote
命令
,nbtstat
命令
等。下面简单了解一下这些网络
命令
如何操作以及其作用吧! 一:ping
命令
ping
命令
是DOS
命令
,一般用于检测网络是否通畅以及网络连接速度,
ipc
onfig
命令
详细图解
一 操作实例 不带参数; all参数; /release和/renew displaydns参数就是显示本地DNS内容;相当多; 看下,上了会网,缓存的DNS很多; /showclassid:显示网络适配器的DHCP类别信息; 二
ipc
onfig
命
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章