cmd指令问题请教

u012293266 2019-03-03 01:41:49
以下是映射网络硬盘的cmd文件
@echo off
net use * /del /y
net use I: \\172.3.2.2\行政部 "admin2" /u:"admin1" /persistent:yes
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##172.3.2.2#行政部 /v _LabelFromReg /d "行政部" /f
start I:
exit


公司弄了个NAS,内部文件共享的。公司电脑大概有50台吧,操作员也不少

所以想用C++ Builder 弄一个连接器

主要变更的函数有 admin1 admin2 行政部



ui都弄好了,就是按钮不知道怎么添加cmd的参数。还有就是反馈信息。。

刚下载软件没多久,第二天接触。爬文好像说现在这个c++ builder 现在都不流行了

谢谢大神们帮助一下
...全文
159 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
u012293266 2019-07-26
  • 打赏
  • 举报
回复
引用 10 楼 ooolinux 的回复:
楼主有需要可以看书学习一下,书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网) 《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。 C++ Builder书籍下载: https://pan.baidu.com/s/13n9hxwVj9ai1p5L2rQC83Q
映射不好用,然后改用mklink来操作了 命令我会自己组合了 但是出来连接创建不了 我把memo1的输出拷贝到cmd,可以出来连接成功的字样。但是直接点击按钮不会有这样的字样出现
ooolinux 2019-03-04
  • 打赏
  • 举报
回复
楼主有需要可以看书学习一下,书籍推荐:
《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网)
《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。
《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。
《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。

C++ Builder书籍下载:
https://pan.baidu.com/s/13n9hxwVj9ai1p5L2rQC83Q
ooolinux 2019-03-04
  • 打赏
  • 举报
回复
如果想完善一点,函数开头判断一下ListBox未选择、Edit为空等情况,ShowMessage提示信息以后,直接return。
ooolinux 2019-03-04
  • 打赏
  • 举报
回复
0改成ListBox1->ItemIndex
u012293266 2019-03-04
  • 打赏
  • 举报
回复
不好意思“”的问题我自己解决了

现在就差listbox1 的问题了,怎么变成其他的哦。每次都是开发部
u012293266 2019-03-04
  • 打赏
  • 举报
回复
引用 4 楼 ooolinux 的回复:
比如这句:
net use I: \\172.3.2.2\行政部 "admin2" /u:"admin1" /persistent:yes

代码可以这样,未测试:
AnsiString cmdStr;
cmdStr="net use I: \\\\172.3.2.2\\";
cmdStr+=ListBox1->Items->Strings[0]; //开发部
cmdStr+="\"";
cmdStr+=Edit2->Text;
cmdStr+="\" /u:\"";
cmdStr+=Edit1->Text;
cmdStr+="\" /persistent:yes";
Memo1->Lines->Add(cmdStr);//窗口放一个Memo控件
WinExec(cmdStr.c_str(),SW_HIDE);


还有就是 我添加了注册表的命令

出来的是 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##172.3.2.2#开发部 /v _LabelFromReg /d 开发部 /f

后面的开发部少了“”

AnsiString cmdStr;
cmdStr="net use w: /del /y";
Memo1->Lines->Add(cmdStr);//窗口放一个Memo控件
WinExec(cmdStr.c_str(),SW_HIDE);

cmdStr="net use W: \\\\172.3.2.2\\";
cmdStr+=ListBox1->Items->Strings[0]; //开发部
cmdStr+=" \"";
cmdStr+=Edit2->Text;
cmdStr+="\" /u:\"";
cmdStr+=Edit1->Text;
cmdStr+="\" /persistent:yes";
Memo1->Lines->Add(cmdStr);//窗口放一个Memo控件
WinExec(cmdStr.c_str(),SW_HIDE);

cmdStr="reg add HKCU\\\Software\\\Microsoft\\\Windows\\\CurrentVersion\\\Explorer\\\MountPoints2\\\##172.3.2.2#";
cmdStr+=ListBox1->Items->Strings[0]; //开发部
cmdStr+=" /v";
cmdStr+=" _LabelFromReg /d ";
cmdStr+=ListBox1->Items->Strings[0]; //"""开发部"""
cmdStr+=" /f ";
Memo1->Lines->Add(cmdStr);//窗口放一个Memo控件
WinExec(cmdStr.c_str(),SW_HIDE);
}
u012293266 2019-03-04
  • 打赏
  • 举报
回复
好用,就是开发部那个值怎么变呢。我选其他部门都是出来开发部啊

然后,cmdStr+="\""; 前面要加个空格 cmdStr+=" \"";就好了
ooolinux 2019-03-03
  • 打赏
  • 举报
回复
试试用AnsiString类型拼接一行命令字符串,用ShellExecute执行一行命令。用Memo1->Lines->Add()显示字符串看是否正确。
ooolinux 2019-03-03
  • 打赏
  • 举报
回复
比如这句:
net use I: \\172.3.2.2\行政部 "admin2" /u:"admin1" /persistent:yes

代码可以这样,未测试:
AnsiString cmdStr;
cmdStr="net use I: \\\\172.3.2.2\\";
cmdStr+=ListBox1->Items->Strings[0]; //开发部
cmdStr+="\"";
cmdStr+=Edit2->Text;
cmdStr+="\" /u:\"";
cmdStr+=Edit1->Text;
cmdStr+="\" /persistent:yes";
Memo1->Lines->Add(cmdStr);//窗口放一个Memo控件
WinExec(cmdStr.c_str(),SW_HIDE);
u012293266 2019-03-03
  • 打赏
  • 举报
回复
引用 2 楼 ooolinux 的回复:
试试用AnsiString类型拼接一行命令字符串,用ShellExecute执行一行命令。用Memo1->Lines->Add()显示字符串看是否正确。
可以帮忙直接写一个代码吗?不懂啊
u012293266 2019-03-03
  • 打赏
  • 举报
回复
部门采用listbox 用户是 edit1 密码是 edit2

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧