अन्य सभी विंडो के शीर्ष पर टास्क शेड्यूलर से संदेश बॉक्स प्रदर्शित करें


13

क्या अन्य खिड़कियों के शीर्ष पर एक निर्धारित समय पर पॉप-अप करने के लिए एक संदेश बॉक्स प्राप्त करने का एक अच्छा तरीका है? डिफ़ॉल्ट "एक संदेश प्रदर्शित करें" कार्रवाई बेकार से सब कुछ नीचे दिखाई देती है।

जवाबों:


13

विंडो के अंतर्निहित msgकमांड का उपयोग कैसे करें ?

msg * "Message you would like to send"

आप अन्य पैरामीटर जोड़ सकते हैं जैसे /TIME:xकि x वह सेकंड है, जहां आप संदेश प्रदर्शित करना चाहते हैं। बेशक, msg /?आपको उपलब्ध सभी विकल्प दिखाएंगे।

इसका तात्पर्य विंडोज एक्सपी और उच्चतर सिस्टम से है जहां आप संदेश प्रदर्शित करना चाहते हैं। यदि आपके पास लागू OS का होम संस्करण है, तो आप भाग्य से बाहर हैं। उपलब्ध मापदंडों के लिए http://ss64.com/nt/msg.html देखें ।

यदि आपके पास एक गृह संस्करण है, तो निम्न बैच स्क्रिप्ट VBSCript के पॉपअप विधि का उपयोग करके संदेश को पॉप-अप करेगी:

@echo off
::See http://msdn.microsoft.com/en-us/library/x83z1d9f(v=vs.84).aspx
::for an explanation of the PopUp method
::

::Use the directory from whence script was called as working directory
set CWD=%~dp0

::Use a random file name for the temporary VBScript.
set usrmsg=%CWD%%random%.vbs

::First parameter is the timeout in seconds. 0 = wait forever
set _timeout=%~1

::Second parameter is the message, enclosed in quotes.
set _Message=%~2

::Third parameter is the title of the window, enclosed in quotes.
set _Title=%~3

::This last variable is used to display a button/icon on the window.
::Setting this to 4096 sets the window to Modal (on top of everything else)
set _nType=4160

::Create the temp script using the provided information.
ECHO Set wshShell = CreateObject( "WScript.Shell" )>%usrmsg%
ECHO wshShell.Popup "%_Message%" ^& vbCrLf, %_Timeout%, "%_Title%", %_nType%>>%usrmsg%

::Run the script.
WSCRIPT.EXE %usrmsg%

::Delete the script.
DEL %usrmsg%

::Exit the batch file
exit /b

उम्मीद है की यह मदद करेगा!

जोड़ा गया: ग्रीग ने टिप्पणियों में उल्लेख किया है कि विंडोज 10 में काम करने के लिए, आपको "/ समय: 0" का उपयोग करना होगा यदि आप चाहते हैं कि संदेश 60 सेकंड से अधिक समय तक स्क्रीन पर रहे।


तुम्हारी किस बारे में बोलने की इच्छा थी? क्या है msg? मुझे कुछ नहीं मिलता अगर मैं इसे रन बॉक्स से या कमांड प्रॉम्प्ट से चलाने की कोशिश करता।
मॉस

आपने अपने प्रश्न में यह निर्दिष्ट नहीं किया है कि आपके पास विंडोज का कौन सा संस्करण है। यदि आपके पास एक गृह संस्करण है, तो आप भाग्य से बाहर हैं। ss64.com/nt/msg.html
JSanchez

2
जब तक आप निर्दिष्ट नहीं करते हैं, तब तक FYI msg 60 सेकंड के बाद स्वतः बंद हो जाता है /TIME:0। यह Win10 x64 v1607 एंटरप्राइज LTSB पर है। मैं सोच रहा था कि मेरी स्क्रिप्ट का परीक्षण ठीक क्यों है, लेकिन टास्क शेड्यूलर में डालने पर मुझे कभी संदेश नहीं मिला। शर्मनाक प्लग: serverfault.com/a/931932/131761
gregg

6

इसके अलावा https://www.howtogeek.com/136894/how-to-create-popup-reminders-with-no-additional-software/ देखें । लिंक मौत के मामले में, मैं यहाँ संक्षेप में बताऊंगा:

  1. ओपन विंडोज टास्क शेड्यूलर (स्टार्ट मेनू में 'टास्क शेड्यूलर सर्च करें)
  2. क्रिया के अंतर्गत, 'कार्य बनाएँ' पर क्लिक करें
  3. सामान्य टैब में, सुनिश्चित करें कि 'केवल तभी चलाएं जब उपयोगकर्ता लॉग ऑन हो' चेक किया गया हो, और 'हिडन' चेक नहीं किया गया हो
  4. ट्रिगर टैब में, संदेश को ट्रिगर करने के लिए एक समय निर्धारित करने के लिए 'नया' पर क्लिक करें
  5. क्रिया टैब में, 'नया' पर क्लिक करें और सुनिश्चित करें कि शीर्ष पर चयनित क्रिया 'एक कार्यक्रम प्रारंभ करें' है
  6. 'प्रोग्राम / स्क्रिप्ट' में, CMD टाइप करें
  7. 'तर्क जोड़ें' में, इसे कॉपी और पेस्ट करें:

    / C TITLE [आपका शीर्षक यहाँ] & ECHO। & ECHO। & ECHO [आपका संदेश यहाँ] & ECHO। & ECHO। & TIMEOUT [टाइमआउट

  8. अपने पसंदीदा पाठ के साथ [अपना शीर्षक यहां] और [अपना संदेश यहां बदलें] (कोष्ठक शामिल न करें)
  9. [टाइमआउट] को उन सेकंडों की संख्या से बदलें जिन्हें आप चाहते हैं कि संदेश समय से पहले प्रतीक्षा करे, या -1 यदि आप इसे टाइम आउट नहीं करना चाहते हैं (या तो, एक कुंजी प्रेस जबकि कंसोल विंडो फोकस में है, इसे बंद कर देंगे)
  10. ओके पर क्लिक करें'!

यह दिए गए पाठ के साथ एक कंसोल विंडो उत्पन्न करेगा, जो आपकी वर्तमान विंडो के ON TOP पर दिखाई देगा, लेकिन स्वचालित रूप से फ़ोकस चोरी नहीं करेगा (आप हमेशा की तरह अपनी वर्तमान विंडो के साथ सहभागिता कर सकते हैं)।

यह सबसे अच्छा समाधान था जो मुझे मिला, आशा है कि यह किसी की मदद करता है!


यह स्वीकृत उत्तर बहुत ही सुस्त होना चाहिए, धन्यवाद!
स्पार्टिकस

1

msgboxVbs में उपयोग करें । इस तरह:

Set filesys = CreateObject("Scripting.FileSystemObject") 
Set shell = CreateObject("Shell.Application")
Set wshShell = WScript.CreateObject( "WScript.Shell" )
PCName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
msgbox "Dear user on " & PCName & vbcrlf & " " & vbcrlf & "This is a message box on top of all other windows.", &h51000, "I am msgbox"
shell.Open "C:\Users"

कोड &h51000सुनिश्चित करेगा कि मेसबॉक्स केंद्रीय और हर समय अन्य सभी विंडो के शीर्ष पर हो।

यदि आप केवल एक मैसेंजर को शेड्यूल करना चाहते हैं, तो आप बस कार्य शेड्यूलर का उपयोग कर सकते हैं, एक संदेश शेड्यूल करने के लिए एक अंतर्निहित फ़ंक्शन है। कार्य अनुसूचक में [एक कार्यक्रम शुरू करें] का स्थान देखें।


1

Display a Messageपदावनत किया जाता है, और msgकमांड मेरे लिए विंडोज 10 1703 में काम नहीं करता है। मैं powershellएक निर्धारित कार्य से संदेश बॉक्स को प्रदर्शित करने के लिए उपयोग कर रहा हूं , कार्रवाई को परिभाषित करते समय इसे तर्क के रूप में उपयोग करें :

-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('<message body here>','<window title here>')}"

यह बदसूरत वायुसेना है, लेकिन यह काम करता है।


आप यह बताना चाहते हैं कि जब आप अपने समाधान का उपयोग करते हैं तो क्या होता है। त्रुटि अन्य उपयोगकर्ताओं के लिए उपयोगी हो सकती है।
Stese

मुझे वह नहीं मिला जो मेरी प्रतिक्रिया से गायब है। जब मैं powershellसमाधान का उपयोग करता हूं तो एक संदेश बॉक्स प्रकट होता है। msgसमाधान का उपयोग करते समय कुछ भी नहीं होता है, जैसा कि मैं अपनी टिप्पणी में बताता हूं।
isalgueiro

मैं के साथ एक ही कोशिश की, powershell -WindowStyle hidden -File "<path to script>" लेकिन यह काम नहीं करता है, यह केवल -Commandतर्क के साथ काम करता है, इसलिए: powershell -WindowStyle hidden -Command "& '<path to script>'"
Mattia72
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.