نقل قول نوشته شده توسط masoode مشاهده تاپیک
خودم پیداش کردم!


روشن کردن
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1)


خاموش کردن
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
یک مشکل دیگری هست! وقتی آخرین پارامتر را 2 می گذارم مشکلی نیست و مانیتور standby می شود و اگر 1- بگذارم روشن می شود. این را با تایمر نوشتم و عمل کرد. اما وقتی مانیتور توسط خود ویندوز standby می شود با اجرای این دستور با پارامتر1- یک لحظه مانیتور روشن می شود و دوباره خاموش میشود!
مسئله اصلی من این است که در یک کارخانه برنامه من روی یک کامپیوتر وظیفه ثبت ورود و خروج کارتنها را به عهده دارد. موقع ورود محصول، اپراتور با بارکدخوان، بارکد را اسکن میکند و در سیستم ثبت می شود. می خواهم موقعی که کسی با این سیستم کاری ندارد مانیتور توسط ویندوز خاموش شود و به محض استفاده از بارکدخوان (بارکدخوان به صورت باینری کانفیگ شده است و خروجی آن شبیه کیبورد نیست) مونیتور روشن شود.
اما با نوشتن SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1) حدود یک ثانیه روشن میشود و دوباره خاموش میشود!