سلام
میخواستم بپرسم چه طوری میتونم در vb.net 2005 دستوری رو در Cmdاجرا کنم و نتیجه رو بگیرم؟
مثلا دستور Help رو اجرا کنم و جواب این دستور رو بگیرم.
Printable View
سلام
میخواستم بپرسم چه طوری میتونم در vb.net 2005 دستوری رو در Cmdاجرا کنم و نتیجه رو بگیرم؟
مثلا دستور Help رو اجرا کنم و جواب این دستور رو بگیرم.
منظورت اینه ؟نقل قول:
کد:Dim A As New System.Diagnostics.Process()
A.Start("CMD")
با استفاده از کد زیر میتونید حتی پارامتر هم به برنامه ارسال کنید :
مثلا در کد بالا برنامه Paint باز میشه و داخل اون عکسی که آدرس دهی شده باز میشهکد:System.Diagnostics.Process.Start("mspaint", @"C:\test.bmp");
این روش
ایراد داره چون میگه به جای A از کلمه ی Process استفاده کنید.:41:کد:Dim A As New System.Diagnostics.Process()
A.Start("CMD")
در روش
کاراکتر @ و ; برای چیست؟کد:System.Diagnostics.Process.Start("mspaint", @"C:\test.bmp");
درضمن اگر ما برای Cmd آرگومان بدیم کار نمیکنه مثل:
یاکد:System.Diagnostics.Process.Start("cmd", "help");
برای فرستادن دستور به cmdمیتونیم ازکد:Dim A As New System.Diagnostics.Process()
" A.Start("CMD",help")
البته در صورتی که cmd Focus, داشته باشد.کد:My.Computer.Keyboard.SendKeys(" help"& vbCrLf)
چطور میتونم پنجره ی cmd را مخفی کنم در حالی که در حال اجراست و دستور میگیرد؟
چطور میتونم نتیجه ی دستور رو از Cmd بگیرم در حالی که پنجره اش مخفی هسستش؟
مثلا دستور Help رو از برنامه اجرا کم و برنامه نتیجه که
باشه رو دریافت کنه.کد:For more information on a specific command, type HELP command-name
ASSOC Displays or modifies file extension associations.
AT Schedules commands and programs to run on a computer.
ATTRIB Displays or changes file attributes.
.
.
.
کد:Dim pr As New System.Diagnostics.Process
pr.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
pr.StartInfo.FileName ="EXPLORER.EXE"
pr.StartInfo.Arguments = "c:\"
pr.Start(pr.StartInfo)
Microsoft.VisualBasic.Interaction.AppActivate(pr.ProcessName)
pr.Kill
اگه میخوای پروسه بصورت مخفی اجرا بشه بزن :
pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
اون @ هم برای اینه که مجبور نشه تو string که داره آدرس command که می خواد اجرا بشه، از 2 تا / استفاده کنه مثلاً "c:\\windows\\notepad.exe" میشه "c:\windows\notepad.exe"@.
اون ; هم احتمالاً حواسش نبوده.
یه همچین چیزییه!!کد:dim p as new System.IO.Process
p.StartInfo.FileName = "cmd"
p.StartInfo.RedirectStandardOutput = true
p.StartInfo.RedirectStandardInput = true
Dim k as new System.IO.StreamWriter = p.RedirectStandardInput
Dim j as new System.IO.StreamReader = p.RedirectStandardOutput
چطور ميتونم عنوان ديتا گريد رو فارسي كنم؟