thefalcon
Goto Top

Bild auf Desktop ausgeben

Hallo zusammen,

gibt es eine Möglichkeit auf dem Desktop ein Bild anzeigen zu lassen wenn in einer Text Datei ein bestimmter Wert drin steht?

Wenn in der Txt Datei steht Test in 20min, soll der Bildschirm sich Rot färben mit dem Text "Test in 20min"

Ist das möglich?

Danke & Gruss

TheFalcon

Content-ID: 231069

Url: https://administrator.de/forum/bild-auf-desktop-ausgeben-231069.html

Ausgedruckt am: 23.12.2024 um 11:12 Uhr

sk-it83
sk-it83 26.02.2014 um 11:57:15 Uhr
Goto Top
Klar ist das möglich, musst du dir nur programmieren ;)
TheFalcon
TheFalcon 26.02.2014 um 12:01:41 Uhr
Goto Top
Nunja ich bin gerad ein der Lernphase ;) weiss ja nicht wie ich das umsetzen kann
sk-it83
sk-it83 26.02.2014 um 12:11:25 Uhr
Goto Top
Tja also ich wüsste nicht das es so eine gewünschte Software gibt, lass mich allerdings gerne eines besseren belehren.

Für mich sieht das nach einer Custom Anwendung aus die es so noch nicht gibt. Also musst du dir mit Hilfe einer Programmiersprache selbst
ein Programm erstellen was deine Wünsche erfüllt.

Mögliche Programmiersprache mit der ich wüsste das man es realisieren kann ist c++. Allerdings wird dir hier keiner ein fertiges Programm schreiben.

Also entweder du lernst jetzt c++ oder versuchst mit gegebenen Programmen zum Ziel zu kommen.
TheFalcon
TheFalcon 26.02.2014 um 12:14:54 Uhr
Goto Top
Ok vielleicht habe ich mich ja auch etwas kompliziert ausgedrückt C++ wäre natürlich ein riesen Schritt.

Kann ich denn mit einfach mitteln eine Textdatei auslesen und dann den inhalt z.B. Schwarze Schrift auf roten Hintergrund ausgeben lassen?
colinardo
colinardo 26.02.2014 aktualisiert um 12:26:00 Uhr
Goto Top
Hallo TheFalcon,
Da ist ja wieder der Bastler ...
Da du ja gerade mit HTA-Dokumenten experimentierst, probier mal das ...
<html>
<head>
<title>FullScreenWindow</title>
<HTA:APPLICATION
  APPLICATIONNAME="My FullScreen Window"  
  ID="MyHTMLapplication"  
  VERSION="1.0"  
  BORDER="none"  
  INNERBORDER="no"  
  CAPTION="no"  
  SYSMENU="no"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"  
  WINDOWSTATE="maximize"  
  CONTEXTMENU="no"  
  SELECTION="no"/>  
</head>

<script language="VBScript">  
Sub btnCloseClick()
	window.close
End Sub	
</script>

<body bgcolor="red">  
<input type="button" id="btnClose" value="Schließe Fenster" onclick="btnCloseClick" />  
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">  
  <tr>
    <td align="center" style="color:white;font-size:50pt">Test in 20min</td>  
  </tr>
</table>
</body>
</html>
Grüße Uwe
MrNetman
MrNetman 26.02.2014 um 12:24:17 Uhr
Goto Top
Ja, das geht mit einer batch-Datei.
Die kann man automatisch durchsuchen und mit Abfragen Aktionen auslösen. Man kann auch Daten an kleine externe Programme übergeben, die die Anzeige regeln.

Oder man nimmt einen kleinen Web-Server dafür.

aber du solltest vorher eine genaue Beschreibung für dein Ziel aufschreiben. Am Besten nicht online.
Genau ist wichtig.

Soll das Fenster erscheinen, während du liest und mit der Maus drüber fährst?
Soll das Fenster erscheinen, wenn du die Textdatei öffnest?
Soll das Fenster erscheinen, wenn du in das Verzeichnis mit der Textdatei wechselst?
Soll das Fenster erscheinen, wenn andere Kriterien erfüllt sind? z.B: die Mittagspause erericht.
Soll das Fenster erscheinen, wenn beiim Runterladen so ein Text/Textstelle vorkommt.?

Jetzt siehst du auch, warum es so wenig Antworten geben kann. Oder so viele.

Gruß
Netman
TheFalcon
TheFalcon 26.02.2014 um 12:39:53 Uhr
Goto Top
Hallo Uwe,

nachdem du mir den Denkstoß gegeben hattest kam ich dahinter wie es funktioniert ;) seitdem kam ich gut klar. Das was du gerade mir geschrieben hast sieht schon super aus, kann das jetzt noch mit der Abfrage aus einer txt erfolgen, mit dem der text aus der txt abgerufen wird?
TheFalcon
TheFalcon 26.02.2014 um 12:42:10 Uhr
Goto Top
Hallo Netmann,

im Prinzip soll das Programm das ausgeben wenn in einer Txt Datei etwas drin steht. Angenommen in der Txt Datei steht 0000, dann soll nichts passieren, wenn in der txt Datei steht "Test in 20 min" soll er das ausgeben.Hoffe das war verständlich ;)

Gruss
TheFalcon
wiesi200
wiesi200 26.02.2014 um 12:44:57 Uhr
Goto Top
Also entweder du lernst jetzt c++ oder versuchst mit gegebenen Programmen zum Ziel zu kommen.

Also ob man das jetzt mit c++, c#, vb, Java umsetzte sollte doch keine Rolle spielen.

Man muss die Textdatei auslesen und wenn's ist eine Form im Vollbildmodus öffnen. Wo der Hintergrund Rot ist und noch ein Text drinnen steht.
Das ganze am besten als Dienst. Wobei man das wenn man will auch mit einer Adminstation lösen könnte die ein Flag schickt und dann der Bildschirm mit einem Timer kommt der dann runterzählt.

Je nach Wunsch.
colinardo
Lösung colinardo 26.02.2014 aktualisiert um 14:14:50 Uhr
Goto Top
Zitat von @TheFalcon:
kann das jetzt noch mit der Abfrage aus einer txt erfolgen, mit dem der text
aus der txt abgerufen wird?
klar: (Zeile 26 und 27 anpassen ..) . Wenn der Suchtext gefunden wird , wird der Inhalt der Textdatei angezeigt und das Fenster wird dann automatisch nach 10 Sekunden geschlossen. Wenn der Text nicht gefunden wird nichts angezeigt und das Fenster direkt wieder geschlossen.
<html>
<head>
<title>FullScreenWindow</title>
<HTA:APPLICATION
  APPLICATIONNAME="My FullScreen Window"  
  ID="MyHTMLapplication"  
  VERSION="1.0"  
  BORDER="none"  
  INNERBORDER="no"  
  CAPTION="no"  
  SYSMENU="no"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"  
  WINDOWSTATE="maximize"  
  CONTEXTMENU="no"  
  SELECTION="no"/>  
</head>

<script language="VBScript">  
Sub btnCloseClick()
	closeWindow
End Sub	

Sub loadText()
	pathTXTFile = "C:\Temp\daten.txt"  
	strSuchtext = "Test in 20min"  
	Set fso = CreateObject("Scripting.Filesystemobject")  
	Set objShell = CreateObject("WScript.Shell")  
	If fso.FileExists(pathTXTFile) Then
		content = fso.OpenTextFile(pathTXTFile,1).ReadAll()
		If InStr(1,content,strSuchtext,1) Then
			document.getElementById("displaytext").innerText = content  
			window.setTimeout "closeWindow",10000  
		Else
			closeWindow	
		End If
	Else
		MsgBox "Textdatei extistiert nicht!",vbExclamation  
		closeWindow
	End If
	Set fso = Nothing
End Sub

Sub Window_OnLoad
  loadText
End Sub

Sub closeWindow
	window.close
End Sub
</script>

<body bgcolor="red">  
<input type="button" id="btnClose" value="Schließe Fenster" onclick="btnCloseClick" />  
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">  
  <tr>
    <td align="center" style="color:white;font-size:50pt" id="displaytext"></td>  
  </tr>
</table>
<!--{{InsertControlsHere}}-Do not remove this line-->
</body>
</html>
TheFalcon
TheFalcon 26.02.2014 um 13:05:12 Uhr
Goto Top
Das läuft super! Ist da eine Abfrage wie oft er nach der txt sucht?
colinardo
colinardo 26.02.2014 aktualisiert um 13:08:16 Uhr
Goto Top
Zitat von @TheFalcon:
Das läuft super! Ist da eine Abfrage wie oft er nach der txt sucht?
häää ?? nur einmal beim Start ...
TheFalcon
TheFalcon 26.02.2014 aktualisiert um 13:20:20 Uhr
Goto Top
Ok ich glaube ich habe mich umständlich ausgedrückt..

Das Programm läuft im Hintergrund und fragt alle x Minuten die Txt ab, wenn in der Txt dann etwas drin steht, dann soll er das wieder geben was in der Txt steht, bis das Fenster über den Close Button geschlossen wird. face-smile

Mal etwas anderes, das Programm kann ich ja alle x Minuten automatisch neustarten lassen. Das würde mein Problem auch lösen
colinardo
Lösung colinardo 26.02.2014 aktualisiert um 18:58:31 Uhr
Goto Top
Das geht damit auch noch, aber du solltest dir langsam mal eine richtige Programmiersprache aneignen, mit der ist dann mehr möglich ...
Das Checkintervall beträgt im Beispiel 10 Sekunden ...
<html>
<head>
<title>Überwache</title>
<HTA:APPLICATION
  APPLICATIONNAME="My FullScreen Window"  
  ID="myApp"  
  VERSION="1.0"  
  BORDER="none"  
  INNERBORDER="no"  
  CAPTION="no"  
  SYSMENU="no"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"  
  WINDOWSTATE="maximize"  
  SHOWINTASKBAR="no"  
  CONTEXTMENU="no"  
  SELECTION="no"/>  
</head>

<script language="VBScript">  
Dim fso, objShell, objInterval,sWidth,sHeight

Sub btnCloseClick()
	closeWindow
End Sub	

Sub checkText()
	pathTXTFile = "C:\Temp\daten.txt"  
	strSuchtext = "Test in 20min"	  
	If fso.FileExists(pathTXTFile) Then
		content = fso.OpenTextFile(pathTXTFile,1).ReadAll()
		If InStr(1,content,strSuchtext,1) Then
                        window.clearInterval objInterval
			document.getElementById("displaytext").innerText = content  
			window.resizeTo screen.width, screen.height
			window.focus
			
		End If
	End If
End Sub

Sub Window_OnLoad
	window.resizeTo 0,0
	Set fso = CreateObject("Scripting.Filesystemobject")  
	Set objShell = CreateObject("WScript.Shell")  
	checkText
	objInterval = window.setInterval("checkText",10000)  
End Sub

Sub closeWindow
	Set fso = Nothing
	Set objShell = Nothing
	window.close
End Sub
</script>

<body bgcolor="red">  
<input type="button" id="btnClose" value="Schließe Fenster" onclick="btnCloseClick" />  
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">  
  <tr>
    <td align="center" style="color:white;font-size:50pt" id="displaytext"></td>  
  </tr>
</table>
</body>
</html>
log out...

Die Frage sollte nun gelöst sein...

Den Beitrag bitte noch auf gelöst setzen, und die Lösungskommentare markieren. Merci.

Grüße Uwe
TheFalcon
TheFalcon 26.02.2014 um 14:14:17 Uhr
Goto Top
Eine ganz kurze Frage noch, warum ist das nicht mehr im Fullscreen?

Gruss

Alex
colinardo
colinardo 26.02.2014 aktualisiert um 18:59:15 Uhr
Goto Top
Zitat von @TheFalcon:
Eine ganz kurze Frage noch, warum ist das nicht mehr im Fullscreen?
Bug vom IE, ist oben korrigiert...

Grüße Uwe
TheFalcon
TheFalcon 27.02.2014 aktualisiert um 09:42:39 Uhr
Goto Top
Komischerweise öffnet der das leider nicht im Fullscreen trotz Änderung, wäre aber auch nicht ganz so dramatisch. Ich wollte wenn man das Programm schliesst, das es sich dann erneut startet, aber scheinbar nimmt er den Befehl Application.Restart() nicht an

Sub btnCloseClick()
Dim Dateisystem, Textdatei
Set Dateisystem = CreateObject("Scripting.FileSystemObject")
Set Textdatei = Dateisystem.CreateTextFile("C:\Temp\Test.txt")
Textdatei.Write "001"
Textdatei.Close

Application.Restart()

Window.Close

End Sub
colinardo
Lösung colinardo 27.02.2014, aktualisiert am 08.03.2014 um 08:10:21 Uhr
Goto Top
Zitat von @TheFalcon:

Komischerweise öffnet der das leider nicht im Fullscreen trotz Änderung, wäre aber auch nicht ganz so dramatisch.
Hier gehts einwandfrei IE10 auf Win7 x64. Aber wie gesagt ist halt teilweise vom IE abhängig. Wie schon gesagt ein richtiges Programm ist da sehr viel zuverlässiger...
Ich wollte wenn man das Programm schliesst, das es sich dann erneut startet, aber scheinbar nimmt er den Befehl
Application.Restart() nicht an
das geht ja auch nicht

das hier lässt das Programm dauerhaft im Hintergrund überwachen, und schreibt nachdem dein Text gefunden und der Screen angezeigt wurde den String 001 in diese Textdatei. Nach dem schließen des Fensters läuft es weiterhin im Hintergrund.
<html>
<head>
<title>Überwache</title>
<HTA:APPLICATION
  APPLICATIONNAME="My FullScreen Window"  
  ID="myApp"  
  VERSION="1.0"  
  BORDER="none"  
  INNERBORDER="no"  
  CAPTION="no"  
  SYSMENU="no"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"  
  WINDOWSTATE="maximize"  
  SHOWINTASKBAR="no"  
  CONTEXTMENU="no"  
  SELECTION="no"/>  
</head>

<script language="VBScript">  
Dim fso, objShell, objInterval,sWidth,sHeight

Sub btnCloseClick()
		window.resizeTo 0,0
End Sub	

Sub checkText()
	pathTXTFile = "C:\Temp\daten.txt"  
	strSuchtext = "Test in 20min"	  
	If fso.FileExists(pathTXTFile) Then
		Set f = fso.OpenTextFile(pathTXTFile,1)
		content = f.ReadAll()
		f.Close
		If InStr(1,content,strSuchtext,1) Then
			document.getElementById("displaytext").innerText = content  
			window.resizeTo screen.width, screen.height
			window.focus
			Set f = fso.OpenTextFile(pathTXTFile,2)
			f.Write("001")  
			f.Close
		End If
	End If
End Sub

Sub Window_OnLoad
	window.resizeTo 0,0
	Set fso = CreateObject("Scripting.Filesystemobject")  
	Set objShell = CreateObject("WScript.Shell")  
	checkText
	objInterval = window.setInterval("checkText",10000)  
End Sub

Sub closeWindow
	Set fso = Nothing
	Set objShell = Nothing
	window.close
End Sub
</script>

<body bgcolor="red">  
<input type="button" id="btnClose" value="Schließe Fenster" onclick="btnCloseClick" />  
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">  
  <tr>
    <td align="center" style="color:white;font-size:50pt" id="displaytext"></td>  
  </tr>
</table>
</body>
</html>

Nochmal der empfohlene Hinweis zum Lernen...

back-to-topVBA/VBS/WSH/Office Developer Referenzen
TheFalcon
TheFalcon 10.03.2014 um 11:33:25 Uhr
Goto Top
Perfekt, werde mich bei Zeiten mal in einem Kurs belegen!!! ;))