| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		k1uMp3n
 
 
  Anmeldungsdatum: 15.10.2004 Beiträge: 15 Wohnort: Fiwa
  | 
		
			
				 Verfasst am: 18.10.2004, 14:19    Titel: titelleiste | 
				     | 
			 
			
				
  | 
			 
			
				ist es möglich einem Programm einen Titel zu geben (wie zB in html 
 
<title>bla</title>) | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Paul aka ICC, HV-Freak
 
  Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
  | 
		
			
				 Verfasst am: 18.10.2004, 14:30    Titel: ???????? | 
				     | 
			 
			
				
  | 
			 
			
				Hä ? Was hat das mit QB zu tun ?
 
In welcher Weise sollte/könnte man einem QB-Prog einen Titel geben ?
 
Wo sollte der dann angezeigt werden ?   _________________
   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Sebastian Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
  | 
		 | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Paul aka ICC, HV-Freak
 
  Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
  | 
		
			
				 Verfasst am: 18.10.2004, 14:38    Titel: Genial | 
				     | 
			 
			
				
  | 
			 
			
				Du kannst ja die EXE umbenennen    _________________
   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Stefan
 
 
  Anmeldungsdatum: 17.09.2004 Beiträge: 22
 
  | 
		
			
				 Verfasst am: 18.10.2004, 17:39    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Mich würde es sehr wundern, wenn das gehen würde.
 
 
Qbasic ist ja bekanntlich ein Dos-Programm. Und bei Dos war es nun halt mal nicht gedacht, das jemand es neben anderen Programmen ablaufen läßt. Deshalb war es nicht nötig den Programmen Namen zu geben.
 
 
Auch wenn das heute mit Windows geht, denke ich das diese Option nicht hinzu gefügt worden ist. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		dreael Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 2531 Wohnort: Hofen SH (Schweiz)
  | 
		
			
				 Verfasst am: 18.10.2004, 19:30    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Präzise Ausdrucksweise ist eine Gabe, die nicht jeder hat... ;-)
 
 
@k1uMp3n: Du hättest Deine Frage als "Ich lasse meine QBasic-Programme unter Windows XP Profession SP2 in einer Eingabeaufforderung im Fenstermodus laufen und möchte dort den Fenstertitel auf etwas eigenes anstelle von "Eingabeaufforderung - qb meinprog" ändern können. Wie mache ich das? Gibt es dafür irgend ein CALL INTERRUPT?"
 
 
Übrigens noch meine Antwort dazu: Ich selber kenne keine solche Funktion. Es kann aber gut möglich sein, etwas unter http://msdn.microsoft.com/library/ im Windows 95-SDK finden zu können. _________________ Teste die PC-Sicherheit mit www.sec-check.net | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		dreael Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 2531 Wohnort: Hofen SH (Schweiz)
  | 
		 | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Thomas Antoni
 
  
  Anmeldungsdatum: 12.10.2004 Beiträge: 220 Wohnort: Erlangen
  | 
		
			
				 Verfasst am: 27.10.2004, 22:38    Titel: Habs wie folgt in für die QB-MonsterFAQ vorgemerkt ... | 
				     | 
			 
			
				
  | 
			 
			
				-------------------------------------------------------------------------------------
 
 
Frage deutsch
 
~~~~~~~~~~~~~~~~
 
Wie manipuliere ich den Fenstertitel meines QB-Programms?
 
 
Ich lasse meine QBasic-Programme unter Windows in einer Eingabeaufforderung im 
 
Fenstermodus laufen und möchte dort den Fenstertitel auf etwas eigenes anstelle 
 
von "Eingabeaufforderung - qb meinprog" ändern können. Wie mache ich das? Gibt 
 
es dafür irgend einen CALL INTERRUPT? 
 
 
 
Question English
 
~~~~~~~~~~~~~~~~
 
How to ?
 
 
 
Antwort
 
~~~~~~~~~~~~~~~~
 
[ von Andreas meile (  ) im QB-Forum, .2004 ]
 
 
Ich habe eine Lösung für dieses Problem gefunden und dafür die folgenden
 
Webseiten zu Rate gezogen:
 
 
http://msdn.microsoft.com/library/en-us/win9x/95func_3339.asp 
 
http://msdn.microsoft.com/library/en-us/win9x/95func_1r39.asp 
 
http://msdn.microsoft.com/library/en-us/win9x/95func_0t0l.asp 
 
http://msdn.microsoft.com/library/en-us/win9x/95func_0ycl.asp 
 
http://www.ctyme.com/intr/rb-4627.htm 
 
http://www.ctyme.com/intr/rb-4628.htm 
 
http://www.ctyme.com/intr/rb-4629.htm 
 
http://www.ctyme.com/intr/rb-4630.htm 
 
 
 
Und hier das von mir geschriebene Programm:
 
 
'********************************************************************
 
' FENTITEL.BAS - Windows-Fenstertitel auslesen und setzen
 
' ============
 
' Dieses QuickBasic-Programm setzt einen beliebigen Text als
 
' Windows-Fenster-Titel ein.
 
' Da das Programm den Befehl CALL INTERRUPTX verwendet, ist es nur
 
' unter QuickBasic und nicht unter QBasic ablauffaehig. QuickBasic
 
' muss mit QB /L aufgerufen werden. Getestet unter Windows 95; unter
 
' Windows XP Professional funktionierte es nicht.
 
'
 
' (c) Andreas Meile ("Dreael"), 27.10.2004
 
'     qbasic-webmaster@andreas-meile.ch
 
'*********************************************************************
 
'
 
' $INCLUDE: 'qb.bi'
 
'
 
DIM dosIntEin AS RegTypeX, dosIntAus AS RegTypeX
 
DIM titPuf AS STRING * 300
 
'
 
' Auslesen (Get Application Title) gemäss
 
' http://msdn.microsoft.com/library/en-us/win9x/95func_3339.asp
 
'
 
dosIntEin.ax = &H168E
 
dosIntEin.es = VARSEG(titPuf)
 
dosIntEin.di = VARPTR(titPuf)
 
dosIntEin.cx = LEN(titPuf)
 
dosIntEin.dx = 2
 
CALL INTERRUPTX(&H2F, dosIntEin, dosIntAus)
 
IF dosIntAus.ax = 1 THEN
 
	PRINT "Fenstertitel (Application Title):"
 
	p% = INSTR(titPuf, CHR$(0))
 
	IF p% > 0 THEN
 
		PRINT LEFT$(titPuf, p% - 1)
 
	ELSE
 
		PRINT titPuf
 
	END IF
 
ELSE
 
	PRINT "Fehler beim Auslesen:"; dosIntAus.ax
 
END IF
 
'
 
' Auslesen (Get Virtual Machine Title) gemäss
 
' http://msdn.microsoft.com/library/en-us/win9x/95func_1r39.asp
 
'
 
dosIntEin.ax = &H168E
 
dosIntEin.es = VARSEG(titPuf)
 
dosIntEin.di = VARPTR(titPuf)
 
dosIntEin.cx = LEN(titPuf)
 
dosIntEin.dx = 3
 
CALL INTERRUPTX(&H2F, dosIntEin, dosIntAus)
 
IF dosIntAus.ax = 1 THEN
 
	PRINT "Fenstertitel (Virtual Machine Title):"
 
	p% = INSTR(titPuf, CHR$(0))
 
	IF p% > 0 THEN
 
		PRINT LEFT$(titPuf, p% - 1)
 
	ELSE
 
		PRINT titPuf
 
	END IF
 
ELSE
 
	PRINT "Fehler beim Auslesen:"; dosIntAus.ax
 
END IF
 
'
 
' Setzen (Set Application Title) gemäss
 
' http://msdn.microsoft.com/library/en-us/win9x/95func_0t0l.asp
 
'
 
LINE INPUT "Neuer Application Title:"; t$
 
titPuf = t$ + CHR$(0)
 
dosIntEin.ax = &H168E
 
dosIntEin.es = VARSEG(titPuf)
 
dosIntEin.di = VARPTR(titPuf)
 
dosIntEin.dx = 0
 
CALL INTERRUPTX(&H2F, dosIntEin, dosIntAus)
 
IF dosIntAus.ax = 1 THEN
 
	PRINT "Application Title erfolgreich gesetzt"
 
ELSE
 
	PRINT "Fehler beim Setzen:"; dosIntAus.ax
 
END IF
 
'
 
' Setzen (Set Virtual Machine Title) gemäss
 
' http://msdn.microsoft.com/library/en-us/win9x/95func_0ycl.asp
 
'
 
LINE INPUT "Neuer Virtual Machine Title:"; t$
 
titPuf = t$ + CHR$(0)
 
dosIntEin.ax = &H168E
 
dosIntEin.es = VARSEG(titPuf)
 
dosIntEin.di = VARPTR(titPuf)
 
dosIntEin.dx = 1
 
CALL INTERRUPTX(&H2F, dosIntEin, dosIntAus)
 
IF dosIntAus.ax = 1 THEN
 
	PRINT "Virtual Machine Title erfolgreich gesetzt"
 
ELSE
 
	PRINT "Fehler beim Setzen:"; dosIntAus.ax
 
END IF
 
 
 
 
Hinweise:
 
Unter Windows 2000 (SP4) und XP Professional (SP2) scheint dieser  Interrupt 
 
nicht mehr zu existieren, dagegen auf einem alten Windows 95 (mit VMware 
 
getestet) klappt es dagegen tadellos und man kann die Titel problemlos 
 
setzen: 
 
 
-------------------------------------------------------------------------------- _________________ +++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++ | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		dreael Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 2531 Wohnort: Hofen SH (Schweiz)
  | 
		
			
				 Verfasst am: 28.10.2004, 09:03    Titel: Tests und ein wichtiges "Achtung"! | 
				     | 
			 
			
				
  | 
			 
			
				Habe heute Morgen noch kurz mit weiteren virtuellen Maschinen mein Beispiel getestet. Ergebnis: Titel kann unter Windows 95, 98 und Millennium Edition sowohl gelesen als auch gesetzt werden. Dagegen unter Windows NT 4.0, Windows 2000 und XP geht dies nicht.
 
 
Nun aber ein sehr wichtiges Achtung, festgestellt beim Testen: Das Setzen des Titels der virtuellen Maschine erfolgt leider nicht temporär nur im RAM, sondern es überschreibt Euch C:\WINDOWS\Startmenü\Programme\MS-DOS-Eingabeaufforderung.lnk dauerhaft! => zukünftige Aufrufe der Eingabeaufforderung werden daher also mit Eurem neuen Titel erscheinen. Quintessenz der Geschichte: Mit Vorteil sollte man nur den Application Titel setzen, nicht aber derjenige der virtuellen Maschine.
 
 
@Thomas Antoni: Kannst Du dies in Deinem Monster-FAQ-Artikel noch entsprechend ergänzen? _________________ Teste die PC-Sicherheit mit www.sec-check.net | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |