Fa تشخیص تعداد مانیتورها و رزولوشن اونها

sibil

Active Member
سلام
آقا من تو پروژه ام شدیدا به این نیاز دارم که برنامه تعداد مانیتورها رو تشخیص بده و رزولوشن هر کدوم رو هم بده .
پلاگین systools 1.1 کاملا این کار رو انجام میده . ولی متاسفانه مشکل داره . دائما کرش میکنه . سریالش کار نمیکنه و رجیتر نمیشه و پیام میده وسط برنامه .

لطفا یه راهنمایی بکنید که آیا پلاگین دیگه ای هست که این یه کار رو انجام بده یا کسی systools اصلاح شده داره؟ یا کسی میتونه یه پلاگین با این قابلیت ( که تعداد مانیتورها رو تشخیص بده و رزولوشن هرکدوم رو بده ) برام بسازه تا هزینه اش رو بدم ؟
ممنون میشم کمک کنید . بدجوری گیرم
 

محمدمهدی

Well-Known Member
آخرین ویرایش:

sibil

Active Member
ممنون از توجهتون.
بیشتره مشکل من گرفتن رزولیشن مانیتورهاست . نه گرفتن تعدادشون .
همونطور که گفتید تعداد رو با پلاگین های فوق میشه گرفت . ولی رزولیشن ها رو چکار کننم ؟
 

sibil

Active Member
من کامند لاین های nirsoft رو دیدم . چیزی پیدا نکردم که رزولیشن مانیتور های فعال رو به ما بده .
 

محمدمهدی

Well-Known Member
توضیح بیشتر درباره ابزار مولتی مانیتور

بزرگوار گمونم شما باید همیشه یه خورده بیشتر دقت کنی.
اتفاقا اولین گزینه Resolution res.jpg هست. و بعدش هم نوشته Active که Yes یا No داره.
و توی کامند هاش هم یه گزینه ساده هست که تمامی متغیر ها رو به هر شکلی مثل text، xml، html در یک فایل به شما بر می گردونه.
برای مثال با این دستور :
کد:
c:\MultiMonitorTool.exe /stext c:\result.txt
این نتیجه رو به من داد :
کد:
==================================================
Resolution        : 1280 X 1024
Left-Top          : 1360, 0
Right-Bottom      : 2640, 1024
Active            : No
Primary           : No
Colors            : 0
Frequency         : 0
Orientation       : Default
Maximum Resolution: 2560 X 2048
Name              : \\.\DISPLAY2
Adapter           : Mobile Intel(R) 4 Series Express Chipset Family
Device ID         : PCI\VEN_8086&DEV_2A43&SUBSYS_3A0217AA&REV_09
Device Key        : \REGISTRY\Machine\System\ControlSet004\Services\ialm\Device1
Monitor ID        : Monitor\LEN40B0\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0002
Monitor Key       : \Registry\Machine\System\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0002
Monitor String    : ThinkPad Display 1366x768
Monitor Name      : 
Monitor Serial Number: 
==================================================

==================================================
Resolution        : 1366 X 768
Left-Top          : 0, 0
Right-Bottom      : 1366, 768
Active            : Yes
Primary           : Yes
Colors            : 32
Frequency         : 60
Orientation       : Default
Maximum Resolution: 1366 X 768
Name              : \\.\DISPLAY1
Adapter           : Mobile Intel(R) 4 Series Express Chipset Family
Device ID         : PCI\VEN_8086&DEV_2A42&SUBSYS_3A0217AA&REV_09
Device Key        : \REGISTRY\Machine\System\ControlSet004\Services\ialm\Device0
Monitor ID        : Monitor\LEN40B0\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000
Monitor Key       : \Registry\Machine\System\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000
Monitor String    : ThinkPad Display 1366x768
Monitor Name      : 
Monitor Serial Number: 
==================================================
انواع دیگه ای هم داره که توی راهنماش به بهترین شکل توضیح داده.
ضمن اینکه توی همین پلاگین هایی که ذکر کردم هم این قابلیت هست به شرط اینکه پنجره رو توی Desktop مانیتور مد نظر ببرید و یا Default مانیتور رو برای لحظه ای تغییر بدید.

* از اونجایی که سایت nirsoft برای بعضی از DNS های ایرانی باز نمیشه من خود ابزار رو هم در پیوست قرار دادم.

(یادآوری می کنم مطالبی که عرض کردم اصلا جدید نیست و فقط نیاز به مقداری مطالعه ی توضیحات ابزار ها و پلاگین ها داشت.)
(اجازه بدید بهتون پیشنهاد کنم که از ظاهر غیر قابل فهم رفرنس های (reference - مراجع اطلاعات فنی) ابزارها و ادوات برنامه نویسی دوری نکنید. برید به سمتش تا اون چیزی که می خواهید رو از درونش در بیارید. حتما پیدا میشه. حتی اگر با مسئله زبان رو به رو هستید می تونید از کسی یا همین گوگل استفاده کنید. من گاهی اوقات نتیجه چیزی که باید می فهمیدم اون از رفرنس های روسی که اصلا متوجه نمیشم پیدا کردم. همیشه میشه از کسی پرسید. اما نتیجه و لذت اینکه خودتون درک کنید بیشتره.)
موفق باشید.
 

پیوست ها

  • multimonitortool.zip
    197 کیلوبایت · بازدیدها: 41
آخرین ویرایش:

sibil

Active Member
متوجه شدم .
من که گفتم دستوری برای رزولوشن نیست ، منظورم تو کامند لاین ها بود نه تو خوده برنامه .
ولی متوجه شدم هم اونی که شما گفتین رو میشه ازش رزولوشن گرفت و هم گزینه Save Configs . وقتی با notpad و به صورت text بازش می کنیم ، تمام اطلاعات رو نشون میده.
ممنون از راهنماییتون .
فقط .........
ببخشید میشه بگید ازدستور commandLine چطوری تو MMB استفاده کنم ؟ میشه یه سمپل بهم بدید تا کلا شیوه استفاده دستورات کامند لاین برای هر برنامه رو متوجه بشم ؟... خواهشاً...
من help و کتاب mmb آقای تکمیل رو مرور کردم ولی درست متوجه نشدم . والا مزاحم شما نمیشدم .
مثلاً همون دستوری که گفتین رو :

c:\MultiMonitorTool.exe /stext c:\result.txt

چطوری این دستور رو تو MMB وارد و استفاده کردین که اون فایل c:\result.txt ذخیره شد؟..
 

محمدمهدی

Well-Known Member
این یه مبحث کلیه که خیلی توی این انجمن نمونه مثالش تکرار شده.
و راهنمای خود ام ام بی در مورد RUN به بهترین نحو توضیح داده.
متوجه هستم که چه حسی دارید نسبت به مسئله ای که براتون مبهمه. اما باید تلاش کنید تا متوجه بشید. کسی قرار نیست تمام کتب برنامه نویسی رو بخونه. اما باید به خاطر مسئله ای که بهش احتیاج داره تلاش کنه. و یه کلید کافیه، که شما اون رو دارید.
از اونجایی که به هیچ وجه دوست ندارم و درست نیست لقمه رو برای کسی بجوم (چون دهنی میشه:wink:)، اجازه بدید شما رو تشویق به تلاش بیشتر برای این موضوع ساده کنم و چند کلید نزدیک تر بدم.
دستور Run :
کد:
Run("File.exe","Command-Line")
* نکته : اگر می خواهید نرم افزار صبر کنه تا کار فایل EXE تموم بشه باید از عبارت WAIT در ابتدای کامند لاین اصلی استفاده کنید. مثلا : WAIT /stext C:\result.txt. راهنمای سریع کنار دستور خود ام ام بی نمونش رو براتون نوشته.
* راهنمایی : از حالت /scomma برای کامند لاین استفاده کنید راحت ترید.

بعد از خوندن فایل نهایی که مثلا در C:\File.txt ذخیره شده بهترین دستور برای گرفتن نتیجه، دستور GetArrayItem هست.
برای فهم طرز کارش به راهنمای MMB مراجعه کنید. نمونه مثال هاش رو ببینید. یا در همین انجمن.

یقین دارم که اگر تلاش کنید می تونید و خوبه که نمونه ای رو که ساختید برای دیگران هم به اشتراک بذارید.
 

جدیدترین ارسال ها

بالا