فهرست مطالب:

مانیتور سخت افزار کامپیوتر: 6 مرحله (همراه با تصاویر)
مانیتور سخت افزار کامپیوتر: 6 مرحله (همراه با تصاویر)

تصویری: مانیتور سخت افزار کامپیوتر: 6 مرحله (همراه با تصاویر)

تصویری: مانیتور سخت افزار کامپیوتر: 6 مرحله (همراه با تصاویر)
تصویری: با یه دختر این کارو نکن😰 2024, نوامبر
Anonim
مانیتور سخت افزار کامپیوتر
مانیتور سخت افزار کامپیوتر
مانیتور سخت افزار کامپیوتر
مانیتور سخت افزار کامپیوتر
مانیتور سخت افزار کامپیوتر
مانیتور سخت افزار کامپیوتر

سلام به همه. من این پروژه را به دو دلیل شروع کردم: من اخیراً یک حلقه آب خنک کننده در رایانه خود ایجاد کردم و به چیزی نیاز داشتم تا فضای مورد نظر را پر کند و می خواستم بتوانم دما و سایر آمارها را با یک نگاه سریع بدون تقلب OSD پر کنم گوشه صفحه البته راه حل های آماده ای برای آن وجود دارد ، اما اکثر آنها فقط مناسب فنگ شویی من نیستند. بنابراین ، به جای قرار دادن یک صفحه نمایش HDMI 7 اینچی در کیسم با کابل بیرون از قاب و نوار وظیفه ویندوز همیشه روشن ، تصمیم گرفتم اسباب بازی خودم را بسازم.

از آنجا که من نه مهندس هستم و نه برنامه نویس ، بلکه فقط یک مرد با آهن لحیم کاری و دانش خودآموخته هستم ، این فقط یک آموزش گام به گام نخواهد بود ، من همچنین سعی می کنم روی مشکل تمرکز کنم حل و جنبه های تحقیقاتی که من را به این ساختار رساند.

سلب مسئولیت: همه کارهای من به عنوان خلاقیت مشترک مشترک 4.0 به اشتراک گذاشته می شود. من از نمونه های زیادی در سراسر اینترنت استفاده کردم ، اگر بخشی از این کار را به عنوان کار خود تشخیص دادید ، لطفاً برای جذب با من تماس بگیرید. هیچ گونه تخلفی در نظر گرفته نشده است ، من خوشحالم که هر اشتباهی را تصحیح کنم. متشکرم

سلب مسئولیت دوم: کار من به همان اندازه به اشتراک گذاشته شده است. من مسئول هیچ خسارتی نیستم که از هر کد یا دستورالعمل من استفاده می شود

تدارکات

  • آردوینو نانو (یا UNO در صورت تمایل)
  • صفحه نمایش TFT در مورد من ، صفحه نمایش 3.5 اینچی سازگار با ILI9486 / ILI9488L است.
  • دما سنسو. در صورت وجود یک سنسور دما TMP36 آنالوگ.
  • کابل ها ، سیم ها ، اتصالات dupont (بیشتر در مورد آن بعدا)
  • (اختیاری) تخته نان برای آزمایش
  • (اختیاری اما توصیه می شود) یک تخته چوبی کوچک

مرحله 1: امکان سنجی (به نوعی)

همانطور که گفتم ، من نمی خواستم و صفحه نمایش HDMI در کیس کامپیوتر من گیر کرده بود ، بنابراین ، با استفاده از نبوغ خودم ، به جستجوی ایده های مشابه در اینترنت پرداختم. و این نکته شماره یک است: گوگل دوست شما است (خوب ، هر موتور جستجوی مناسب …). ما در دنیایی زندگی می کنیم که دیگر هیچ چیز واقعاً اصیل نیست ، اما به جای اینکه به این عبارت با معنای منفی نگاه کنیم ، می توانیم از این مزیت برای خود استفاده کنیم: هر آنچه را که می خواهید ایجاد کنید ، احتمالاً کسی قبلاً کاری مشابه انجام داده است ، بنابراین اگر شما نمی دانم چگونه یک ایده را پیاده سازی کنم ، به احتمال زیاد اطلاعات مفیدی در آنجا پیدا خواهید کرد. هنگام جستجو در اینترنت ، اغلب رعایت دو قانون مفید است:

  1. به خود زحمت ندهید و صفحه 3 یا 4 جستجو را جستجو کنید ، تقریباً همیشه اتلاف وقت است. بجای
  2. عبارات جستجو را تغییر دهید ، فقط سوال را از نقطه نظر دیگری (به عنوان مثال: "سنسور دمای آردوینو" -> "دمای خواندن با آردوینو") تغییر دهید.

در واقع اینجا پر از پروژه های خوب است ، و من اعتراف می کنم که روزهای اول را صرف مطالعه بیشتر این پروژه ها کردم. اما هیچکدام از آنها حاضر نبودند به دنبال من بروند ، زیرا من چیزی می خواستم که با نیازهای من مطابقت داشته باشد.

از آنجا که مجبور بودم چیزی را سفارشی کنم ، تصمیم گرفتم روی سخت افزار مناسب برای استفاده تمرکز کنم و از طرف دیگر نرم افزار را به بعد واگذار کنم ، زیرا نرم افزار همیشه می تواند ایجاد شده و با نیازها سازگار شود ، از طرف دیگر از نظر سخت افزاری من در دسترس هستم. و ویژگی ها

من چیزی را بر اساس آردوینو می خواستم ، زیرا قبلاً آن را داشتم ، به خوبی مستند شده است و جامعه آن در حال شکوفایی است. در اینجا مشکلی وجود ندارد ، همانطور که قبلاً اطلاعات زیادی را گفتم.

من می خواستم یک صفحه نمایش به اندازه کافی بزرگ باشد که از فاصله چند متری به وضوح دیده شود و با ظاهر ظاهری من مطابقت داشته باشد ، این امر هیچ گونه نمایشگر کاراکتر نوکیا و LCD را حذف می کند. OLED نیز به دلیل کوچک بودن مورد بحث نیست. بنابراین من صفحه نمایش رنگی TFT را انتخاب کردم. نیازی به صفحه لمسی نیست ، زیرا در داخل رایانه شخصی خواهد بود. من در آمازون یک دستگاه 3.5 اینچی ، که قبلاً برای آردوینو طراحی شده بود ، پیدا کردم. به اندازه کافی خوب است.

اکنون ، پس از مشخص شدن سخت افزار ، روی نرم افزار تمرکز کردم.

تقریباً همه پروژه ها ، از طرف آردوینو ، کاملاً مشابه هستند. من فقط باید کد را برای صفحه نمایش و پروتکل ارتباطی برای جمع آوری داده ها از برنامه سرور تنظیم کنم. از نظر رایانه ، اکثر پروژه ها بر اساس C ، C ++ ، C#، python و اکثر پروژه ها فقط یک رابط CLI یا سرور سرویس Windows ارائه می دادند. در عوض من GUI می خواستم. من هرگز از هیچ زبان مشابه C در ویندوز استفاده نکردم ، ساختمان GUI را کنار بگذارید. اما من 15 سال پیش مقداری ویژوال بیسیک یاد گرفتم ، بنابراین آن را امتحان کردم و نسخه رایگان Visual Studio را از مایکروسافت بارگیری کردم.

پس از مطالعه بسیاری از پروژه های مشابه ، با استفاده از OpenHardwareMonitor تمام اطلاعات سخت افزاری و RivaTuner را برای FPS دریافت کردم ، زیرا اینها رایگان و مستند هستند.

مرحله 2: آزمایش سخت افزار

تست سخت افزار
تست سخت افزار
تست سخت افزار
تست سخت افزار
تست سخت افزار
تست سخت افزار

قبل از روشن کردن لحیم کاری و ثابت نگه داشتن قطعات الکترونیکی در زمان و مکان ، تمرین خوبی برای ساخت نمونه اولیه آزمایشی (نکته شماره دو) است. خوشبختانه دیگر سال 95 نیست. امروزه ترتیب دادن نمونه های اولیه نسبتاً پیچیده حتی بر روی تخته های کوچک بسیار ساده است. در مورد من ، صفحه نمایش TFT برای Arduino Uno افت کرد ، بنابراین آن را روی Arduino uno خود رها کردم و شروع به بازی با کتابخانه های نمونه کردم و کتابچه های راهنما را مطالعه کردم تا اصول و محدودیت های عملکرد آن را درک کنم.

در این مرحله من نحوه ترسیم خطوط و نقشه های بیتی و نوشتن متن را فهمیدم ، بنابراین شروع به کار با برنامه نویسی نرم افزار کردم و همه چیزهای ثانویه را برای بعدها گذاشتم ، اما در اینجا سنسور دما را اضافه می کنم.

در نقطه ای از خط ، من یک نقطه خالی روی صفحه نمایش داشتم اما هیچ یک از داده های سنسورهای کامپیوتر واقعاً مفید نبود ، بنابراین تصمیم گرفتم یک سنسور دما را برای دمای محیط داخل کیس قرار دهم. صفحه نمایش تقریباً تمام پین های آردوینو را می خورد ، خوشبختانه پین آنالوگ A5 بدون استفاده است ، بنابراین من TMP36 را وصل کردم. من حتی DHT22 را آزمایش کردم اما برای این برنامه بسیار زیاد است.

مثالهای زیادی برای TMP36 وجود دارد ، من فقط یکی از این موارد را در یک تابع کپی کردم. TMP35 دارای 3 پین است ، Vin به 5V می رود ، GND به زمین می رود و Out به پین A5 می رود. من یک خازن سرامیکی 0.1uF بین Vin و GND قرار دادم. می گویند لازم است. احتمالاً در این مورد بی فایده است ، اما … من حتی ولتاژ مرجع آنالوگ آردوینو را برای خواندن بهتر دما روی پین 3.3 ولت تنظیم کردم. در این مورد هنوز بی فایده است ، اما…

مرحله 3: کد آردوینو

لطفاً کد آردوینو موجود را بارگیری و باز کنید تا توضیحات این مرحله را دنبال کنید. من سعی کردم نظرات کافی را در کد بگذارم تا بدون غرق شدن در آن واضح باشد.

شما به طور قطع به کتابخانه های MCUFRIEND_kbv و Adafruit GFX نیاز خواهید داشت. هر دو به راحتی از طریق Arduino IDE قابل نصب هستند.

این برنامه را می توان به بخش هایی مانند زیر تقسیم کرد:

  1. تعریف و اعلام همه متغیرهای جهانی و سایر موارد مورد نیاز
  2. مقداردهی اولیه صفحه ، تنظیم مرجع خارجی و ترسیم UI (همه این موارد در عملکرد () وجود دارد ، زیرا فقط یک بار باید اجرا شود)
  3. خواندن داده ها از اتصال سریال و تخصیص آنها در تابع آرایه (حلقه ())
  4. خواندن داده های سنسور دمای خارجی (عملکرد readExtTemp ())
  5. چاپ داده روی صفحه (عملکرد printData ())
  6. بازگشت به حلقه

بخش 1: بیانیه ها و تعاریف

در قسمت اولیه کد ، من از اشاره گرها و آرایه های زیادی استفاده کردم ، بنابراین من توانستم تعداد زیادی خط تکراری کد را برای نوشتن چرخه FOR کوتاه تر فشار دهم. بله ، من تنبل هستم. همانطور که می بینید من یک آرایه اشاره گر را اعلام کردم و آن را با تمام تصاویر از فایل pics.h پر کردم. با این کار می توانید ترفند چرخه FOR را برای رسم همه نمادها انجام دهید.

بخش 2: راه اندازی () ، بیشتر طراحی UI

من با فونت پیش فرض تصمیم گرفتم زیرا پس زمینه شفاف ندارد ، بنابراین اجازه می دهد بدون نیاز به حذف ، خط جدیدی از متن را بر روی یک خط قدیمی بنویسید. استفاده از فونت دیگر به معنای رسم یک مربع سیاه بر روی متن قدیمی قبل از نوشتن یک خط جدید است که منجر به یک اثر سوسو زدن ناخوشایند می شود.

پس از چند آزمایش ، بین خوانایی و اطلاعات نشان داده شده به سازش خوبی رسیدم. صفحه نمایش را در دو ستون و 5 ردیف تقسیم کردم. ستون سمت چپ به داده های CPU و مادربرد ، از جمله از بالا به پایین نام CPU ، دما ، بار ، میزان استفاده از RAM و دمای مادربرد می پردازد. مورد راست به GPU اختصاص دارد و شامل نام GPU ، دما ، بار ، شمارنده فریم در ثانیه و سنسور دمای خارجی است.

همانطور که در کد می بینید ، تصمیم گرفتم از استفاده از تصاویر روی کارت SD خودداری کنم ، زیرا بارگذاری آن واقعا کند است. تصمیم گرفتم همه نمادها را در حافظه PROGMEM قرار دهم و خطوط را با دستور drawLine () اختصاص دهم. این نیز برای اصلاحات کوچک UI مفید است.

در تلاش ضعیف برای نشان دادن عمق UI ، من دو مورد از همه (خطوط ، مستطیل ها ، تصاویر) را با رنگ های مختلف و با یک افست کوچک ترسیم کردم. متأسفانه این نتیجه ای نیست که من امیدوار بودم ، اما این ترفند را انجام می دهد.

آخرین خطوط این عملکرد برای چاپ متغیرهایی در TFT است ، تا زمانی که آردوینو داده ها را دریافت کند.

بخش 3: حلقه اصلی () ، واکشی و قالب بندی داده ها

در اینجا جادو اتفاق می افتد: داده ها از طریق سریال دریافت می شوند ، به متغیر صحیح اختصاص داده می شوند و سپس چاپ می شوند. برای دستیابی به همه اینها در حداقل تعداد خط ، از دستور case switch و a for cycle استفاده کردم.

پروتکل ارتباطی که من با آن آمدم به دو قسمت تقسیم می شود: اجرای اولیه یکبار دست دادن و بخش داده واقعی.

برای اجرای ویژگی اتصال خودکار هنگام شروع برنامه رایانه ، دست دادن لازم است. اینجوری پیش میره:

  • کامپیوتر رشته دست دادن را ارسال می کند (در این مورد فقط "*****؛")
  • آردوینو پاسخی را ارسال می کند

پزی آسان.

بخش داده به این شکل است: "i: xxx ، yyy ، zzz، aaa،؛" معنی این است:

"i" نمایه است ، من آن را componentSelector در کد نامیدم. مقادیر "i" عبارتند از:

  • i = 0 - نام. مقادیر زیر نامهایی هستند که در ردیف اول صفحه نمایش داده شده اند. این فقط یک بار ارسال و روی صفحه چاپ می شود ، زیرا امروزه حذف CPU و GPU بسیار دشوار است …
  • i = 1 - داده های ستون 1 - مقادیر زیر در نیمه سمت چپ صفحه نمایش از بالا به پایین نشان داده شده است. در مورد من: دمای CPU ، بار CPU ، میزان استفاده از RAM ، دمای مادربرد.
  • i = 2 - داده ستون دوم - مانند بالا ، اما برای نیمه راست صفحه نمایش
  • i = 3 - دستور چاپ. در این حالت رشته سریال خام فقط "3:؛" خواهد بود. به عنوان دیگر داده ها مورد نیاز نیست.

"xxx ، yyy ، zzz ، aaa" مقادیر واقعی هستند. آنها توسط arduino به صورت رشته خوانده می شوند و قالب بندی کامل توسط برنامه PC انجام می شود. برای i = 0 این مقادیر هر کدام 14 کاراکتر برای نام سخت افزار هستند. برای i = 1 یا 2 اینها فقط سه کاراکتر خواهند بود ، برای نمایش دما و فریم در ثانیه کافی است. البته ":" ، "،" و "؛" نویسه در این زمینه ممنوع است.

":" جدا کننده بین componentSelector و مقادیر است ، "" ، مقادیر جدا کننده و "؛" است. انتهای خط است

هنگام دریافت داده ها ، آردوینو آن را به عنوان یک رشته تا "؛" ذخیره می کند. نماد دریافت می شود ، سپس به دنبال نماد ":" می گردد و از آن برای بدست آوردن مقدار componentSelecor استفاده می کند. این مورد برای عملکرد case switch برای انتخاب روش صحیح مورد استفاده قرار می گیرد. همچنین برای انتخاب فهرست صحیح در آرایه allData استفاده می شود.

پس از این آردوینو به دنبال نماد "" می گردد و مقادیر را در آرایه allData قرار می دهد.

اگر componentSelector 0 باشد ، پرچم printName روی true تنظیم می شود. اگر componentSelector 3 باشد ، توابع readExtTemp () و printData () فراخوانی می شوند.

بخش 4: تابع readExtTemp ()

در اینجا چیز زیادی برای گفتن وجود ندارد ، 32 بار از پین A5 خوانده می شود و مقدار دما را به عنوان یک رشته خروجی می دهد. من با شورشیان هستم ، بنابراین از سلسیوس استفاده می کنم. هر چیزی بیش از 100 درجه سانتی گراد نادرست است ، بنابراین روی صفحه نمایش "---" نشان داده می شود. برای هر چیزی کمتر از 100 درجه سانتی گراد فرمت می شود تا فضاهای کافی برای پوشش 3 کاراکتر روی صفحه نمایش داشته باشد. امکان حذف و قرار دادن مجدد سنسور وجود دارد و هیچ مقدار عجیبی نشان داده نمی شود.

بخش 5: تابع printData ()

مثل همیشه ، من سیکل ها را برای چاپ متوالی مطالب روی صفحه نمایش استفاده می کردم. اگر پرچم printNames درست باشد ، نام ها را چاپ می کند ، پرچم را روی false تنظیم می کند و ادامه می دهد.

بخش 6: بازگشت به حلقه

من می گویم خود به اندازه کافی توضیح می دهد…

فایل pics.h

در اینجا من تمام نمادهای UI را ذخیره کردم. امکان استفاده از کارت خوان SD موجود در صفحه نمایش وجود دارد ، اما حافظه کافی در آردوینو برای آیکون های سیاه و سفید من باقی مانده بود.

من آنها را با Junior Icon Editor طراحی کردم زیرا رایگان است و برای نقاشی پیکسل آیکون های کوچک بسیار مناسب است. من مجبور شدم فایلهای نماد (ذخیره شده به عنوان PNG) را با ابزار آنلاین SKAARHOJ تبدیل کنم.

مرحله 4: کد ویژوال بیسیک

کد ویژوال بیسیک
کد ویژوال بیسیک

در اینجا کد VB آمده است

توجه: این اولین بار است که من یک پروژه Visual Studio را به اشتراک می گذارم. من فقط پوشه های پروژه را کپی کرده و آنها را فشرده کردم. اگر این کار نمی کند ، لطفاً راه بهتری را برای به اشتراک گذاشتن این نوع پروژه ها به من اطلاع دهید. متشکرم

همانطور که قبلاً گفتم ، من قادر به ایجاد یک رابط کاربری گرافیکی به زبان سی شارپ یا زبان های دیگر نیستم ، اما مدتها پیش تجربه هایی در ویژوال بیسیک داشتم. من نسخه Visual Studio Community (البته رایگان است) را با محیط Visual Basic بارگیری کردم. خوب ، من مجبور بودم چیزهای زیادی را کشف کنم ، زیرا آخرین باری که از VB استفاده کردم نسخه 2005 یا موارد دیگر بود … اما اینترنت طبق معمول پر از نکات خوب است.

پس از پیدا کردن برخی از موارد رابط ، نسخه جدید در واقع آسان تر و انعطاف پذیرتر از نسخه قدیمی است.

برای این برنامه می خواستم چیزی با فرم ویندوز اما از طریق نماد سینی سیستم کاملاً قابل کنترل باشد. من در واقع از فرم فقط برای اشکال زدایی استفاده کردم ، زیرا دوست دارم جعبه های متنی و لیست ها را برای خواندن مقادیر خروجی توابع و برخی دکمه های فرمان برای آزمایش آنها قرار دهم.

برنامه "نهایی" فقط یک نماد سینی با منوی بازشو است که کنترل های مختلف را نشان می دهد و یک فرم اصلی با دو جعبه لیست که داده های ارسال شده به آردوینو را نشان می دهد.

من یک تابع اتصال خودکار و یک تابع "شروع در راه اندازی" را اجرا کردم. بعداً در مورد آن بیشتر توضیح دهید.

برنامه اصلی فقط اقتباس از مثالها و قطعات مختلف کد با استفاده از کتابخانه OpenHardwareMonitor و کتابخانه حافظه مشترک RivaTuner است.

برنامه به این صورت پیش می رود:

  • داده ها را از کتابخانه های OpenHardwareMonitor و RTSSSm دریافت کنید
  • آماده سازی و قالب بندی تمام داده ها برای پروتکل ارتباطی
  • داده ها را به آردوینو ارسال کنید
  • بشویید و تکرار کنید

البته نام سخت افزار در ابتدا خوانده می شود و فقط یک بار ارسال می شود.

شمارنده FPS فقط زمانی فعال می شود که از یک برنامه سازگار استفاده شود (به عنوان مثال یک بازی ، یک برنامه مدل سازی سه بعدی و غیره) ، در غیر این صورت محل نگهدارنده "---" به صفحه نمایش ارسال می شود.

من در مورد چگونگی دریافت مقادیر از کتابخانه ها عمیقا توضیح نمی دهم ، زیرا در اینترنت به خوبی مستند شده و تا حدودی از کد قابل درک است. فقط می خواهم درباره مشکلات نمایش دمای مادربرد از طریق کتابخانه OpenHardwareMonitor (از این به بعد OHMonitor ، زیرا عمر بسیار کوتاه است) صحبت کنم. من یک Asus Maximus VIII Gene MoBo دارم که مجهز به سنسورهای دمای fu ** تن در مادربرد است ، اما OHMonitor آنها را به عنوان سنسور دما #1 ، #2 … #n نامگذاری می کند و هیچ جا مکان دما مشخص نشده است. بنابراین مجبور شدم نرم افزار وحشتناک Asus AI مجموعه را نصب کنم ، جایی که سنسورها حداقل NAMES دارند و دمای مختلف بین دو برنامه را مقایسه می کنند. به نظر می رسد سنسور دمای عمومی مادربرد من برای OHMonitor شماره 2 است ، بنابراین همانطور که در قسمت Timer1_tick در موارد MoBo مشاهده می کنید ، من باید به دنبال نام سنسور حاوی رشته " #2" باشم تا خوانش صحیح را بدست آورم.

TL؛ DR: شما باید از سنسورهای دمای مناسب مادربرد برای خود مراقبت کنید. بقیه احتمالاً خوب است که بروند.

با این حال ، این فقط نسخه 1 است ، من قصد دارم این ابزار را در رایانه شخصی دیگر خود نصب کنم ، بنابراین احتمالاً راهی برای انتخاب سنسورها و حتی طراحی مجدد رابط کاربری در Arduino در حال حرکت استفاده می کنم.

عملکرد اتصال خودکار

این عملکرد در واقع ساده است: اگر رایانه شخصی با آردوینو متصل نباشد ، هر x میلی ثانیه (بر اساس تایمر 1) این تابع نامیده می شود. سعی می کند با هر پورت COM روی رایانه متصل شود ، در صورت موفقیت ، رشته دست دادن "*****؛" را ارسال می کند. اگر پاسخ "R" باشد ، دستگاه صحیح متصل شده و روش عادی دنبال می شود. در غیر این صورت ، پورت COM بعدی را امتحان می کند.

همانطور که مشاهده می کنید ، استثنائات زیادی در این تابع وجود دارد. این به این دلیل است که من می خواستم آن را به طور کامل وصل و پخش کنم ، بدون خروجی خطا. با استثنائات ، من توانستم آن را از غیبت کامل دستگاه خارجی نادیده بگیرم و حتی می توانم هر زمان که بخواهم دستگاه را داغ وصل و داغ وصل کنم ، بدون ایجاد خطای شکستن برای برنامه.

عملکرد Start At Boot

من می خواستم برنامه در بوت شروع شود. خیلی راحت گفتی شما می گویید پیوندی را در پوشه مناسب قرار دهید. اما نه. با توجه به کتابخانه های OHMonitor و RTSS ، برای جمع آوری اطلاعات به سطح اجرای مدیر نیاز داریم. این بدان معناست که هر بار که این برنامه راه اندازی می شود ، صفحه UAC کاملاً آزاردهنده است. به هیچ وجه. بنابراین من فیلمنامه ساخته متیو وای (پیوند اینجا) را برای دستیابی به یک شروع بی صدا در هنگام بوت اقتباس کردم. من فقط اسکریپت را در فایل Resources1 کپی کردم ، در چند قسمت تقسیم شده ، سپس یک زیر برنامه اجرا کردم که یک فایل وظیفه ویندوز ایجاد می کند (یا حذف می کند) ، با مکان اجرایی برنامه فعلی و مواردی از این دست سفارشی می شود.

نماد سینی سیستم

به لطف اشیاء NotifyIcon و ContextMenu ، من توانستم راهی آسان و چرب برای کنترل برنامه پیاده سازی کنم. فقط روی نماد سینی راست کلیک کنید و منو ظاهر می شود. این oprions وجود دارد:

  • Start at boot: می توانید آن را بررسی کرده و علامت آن را بردارید تا عملکرد start at boot فعال یا غیرفعال شود
  • اتصال خودکار: همانند بالا ، اما عملکرد اتصال خودکار را کنترل می کند
  • اتصال/قطع ارتباط: اتصال را کنترل می کند. با فعال کردن اتصال خودکار کار نمی کند
  • زمان تازه سازی: زیر منوی کشویی را ارائه می دهد ، می توانید زمان بازخوانی را از 1 تا 10 ثانیه انتخاب کنید
  • Maximize: پنجره اصلی را باز می کند. مانند دوبار کلیک روی نماد
  • خروج: خود توضیحی

کامپایل نرم افزار

برای کامپایل نرم افزار ، احتمالاً باید کتابخانه هایی را که در کد گنجانده نشده اند بارگیری و اضافه کنید.

کتابخانه OpenHardwareMonitor را می توانید در اینجا پیدا کنید. باید نرم افزار را بارگیری کرده ، فایل زیپ را باز کرده و فایل OpenHardwareMonitorLib. DLL را در پوشه پروژه کپی کنید.

در اینجا پیوندی برای کتابخانه RTSSharedMemoryNET وجود دارد ، شما باید معماری خود را بارگیری و کامپایل کنید ، سپس RTSS [TL؛ DR] moryNET. DLL را در پوشه پروژه خود کپی کنید.

حالا شما باید یک مرجع در کد خود اضافه کنید ، دستورالعمل ها در اینجا

فقط مطمئن شوید که هر دو پروژه سرور RTSS [TL؛ DR] moryNET و PCHwMon را برای معماری یکسان کامپایل کنید.

من یک برنامه راه اندازی آماده را در اختیار شما قرار دادم ، بنابراین می توانید همه چیز را بدون خرابکاری با ویژوال بیسیک نصب کنید. این برای x86 گردآوری شده است ، بر روی معماری x86 و x64 کار می کند. برای اجرا نیاز به چارچوب. NET 4.7.2 دارد.

در هر صورت ، شما باید RivaTuner را نصب کنید. می توانید آن را در اینجا به عنوان یک برنامه مستقل پیدا کنید یا می توانید Msi Afterburner را نصب کنید ، که باید شامل RTServer باشد.

مرحله 5: پیاده سازی نهایی سخت افزار

توصیه شده: