مخفی سازی پنجره cmd در زمان دریافت اطلاعات - بروز رسانی سوم
بسم الله الرحمن الرحیم
سلام
اول از همه چیز میلاد با سعادت حضرت امیرالمومنین صلوات الله علیه و فرارسیدن سال 1397 رو خدمت همه دوستان تبریک و شادباش عرض میکنم و امیدوارم تا در کنار بزرگترها سال پربرکتی رو داشته باشید.
همونطور که از عنوان مشخص هست، سومین بروز رسانی از آموزش دستور Wmic
رو خدمتتون هستم.
بروز رسانی قبلی رو در ولادت حضرت زهرا سلام الله علیها منتشر شد و سومین بروز رسانی هم در ولادت حضرت امیرالمومنین علی علیه السلام منتشر میکنم.
پس پیشنهاد میکنم مطالب زیر رو به ترتیب یک مروری داشته باشید تا کم و بیش در جریان مطالب باشید.
- دریافت اطلاعات سیستمی و سخت افزاری در اکسس
- لیست دستورات موجود در wmic - بروز رسانی اول
- دریافت اطلاعات سخت افزاری توسط دستور wmic - بروز رسانی دوم
- مخفی سازی پنجره cmd در زمان دریافت اطلاعات - بروز رسانی سوم
از تیتر آموزش مشخص هست که قصد داریم تا پنجره CMD
رو در زمان دریافت اطلاعات مخفی کنیم تا اگر مدت زمان بیشتری (بسته به سرعت سخت افزار و نرم افزار سیستم متغییر است) نمایش داده شد، کاربر را اذیت نکنه و شمایل جالبی داشته باشه.
در قدم اول لازم است تا فانکشن زیر رو در یک ماژول قرار بدین
Public Function ShellRun(sCmd As String) As String 'Run a shell command, returning the output as a string 'Published by: http://Access-Training.blog.ir/tag/wmic CreateObject("WScript.Shell").Run "cmd /c " & sCmd & " | clip", 0, True ShellRun = CreateObject("htmlfile").ParentWindow.ClipboardDat a.GetData("text") End Function
و مانند دستور زیر ازش استفاده کنید
MsgBox ShellRun("wmic diskdrive get serialnumber")
نکته تکمیلی و مهم
نتیجه اجرای دستور Wmic در چند خط نمایش داده میشود، که برای جلوگیری از نمایش در چند خط و نمایش محتوا در یک String میتونید از کد زیر استفاده کنید:
Dim s As String s = oOutput.Readall
در ادامه هم یک فایل ضمیمه قرار میدم تا بتونید درک بهتری از کدها داشته باشید.
سلام
با تشکر از مطلب خوبتون
لطفأ بفرمائید از کدای زیر چطور برای نمایش خروجی ماژول در یک خط استفاد کنیم؟
Dim s As String
s = oOutput.Readall