我正在开发一个小型应用程序,以查找使用VS2008 Windows窗体应用程序登录到服务器(提供ip)的用户。 我写了下面的代码,似乎只有当我登录到任何一台远程服务器时,它才能正常工作,如果我在本地计算机上安装了相同的应用程序并尝试运行它,我将得到以下错误提示:
“查询”未识别为内部或外部命令,可操作程序或批处理文件。 按任意键继续...
注意:如果我只是通过本地计算机的命令提示符直接运行“系统用户/ server:XXX”命令,我将获得所需的详细信息,而不会遇到任何错误。
我的疑问是,如果我对应用程序运行相同的命令,为什么会遇到错误?
我写的PFB代码:
static std::string toStandardString(System::String^ string)
{
using System::Runtime::InteropServices::Marshal;
if (string->Length == 0 || string->Length < 0)
{
MessageBox::Show("No field can be empty");
}
System::IntPtr pointer = Marshal::StringToHGlobalAnsi(string);
char* charPointer = reinterpret_cast<char*>(pointer.ToPointer());
std::string returnString(charPointer, string->Length);
Marshal::FreeHGlobal(pointer);
return returnString;
}
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
String^ com = "query user /server:";
String^ texStr= textBox1->Text;
String^ full = com + texStr + " & pause";
std::string str1 = toStandardString(full);
char str2[100];
strcpy(str2,str1.c_str());
system(str2);
getch();
}
TIA。