| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		vinny
 
 
  Anmeldungsdatum: 27.02.2007 Beiträge: 32
 
  | 
		
			
				 Verfasst am: 29.03.2007, 21:57    Titel: Wie automatisch starten? | 
				     | 
			 
			
				
  | 
			 
			
				Hi!
 
ich programmiere gerade eine Art Kalender. Dieser soll autmatisch beim Start des PCs sich öffnen und dann zeigen wer gerade Geburtstag hat(die aktuellen Geburtstag sollen dann auf der Hauptseite angezeigt werden). Dann soll man die möglichkeit haben, Notizen zu machen. Die dann unter den aktuellen Geburtsstagen stehen...
 
meine Frage: Wie packe ich das Prog in den Autostart mit Freebasic?
 
DANKE!!!
 
Gruß vinny | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Eternal_pain
 
  
  Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
  | 
		
			
				 Verfasst am: 29.03.2007, 22:00    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Rechte Maustaste auf die Taskleiste 
 
 	  | Zitat: | 	 		  | Eigenschaften -> Programme im Menü "Start" -> Erweitern -> Programme - Autostart | 	  
 
 
Dann einfach eine neue verknüpfung zum Programm erstellen, dann sollte es eigentlich funktionieren   _________________
   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		vinny
 
 
  Anmeldungsdatum: 27.02.2007 Beiträge: 32
 
  | 
		
			
				 Verfasst am: 29.03.2007, 23:30    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi!
 
erstmal danke für die schnelle antwort:-) aber kann man das nicht vieleicht ins proggi einprogrammieren? weil mein Vater möchte das prog auch für sich auf der Arbeit benutzen(das aktuelle kalenderproggi von denen hebelt andere programme aus) und alle PCs da(um die 50) sind mit einander verbunden... dann läd er nur die exe auf die festplatten und gut ist. weil bei 50 PCs das einzustellen ist auch blöd  
 
 
PS.: mein vater ist da informatiker, hat aber freebasic seit jahrzenten nich mehr benutzt und hat es also größtenteils verlent   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 29.03.2007, 23:35    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vinny hat Folgendes geschrieben: | 	 		  | hat aber freebasic seit jahrzenten nich mehr benutzt | 	  
 
 
...hach, wie die zeit doch vergeht   Freebasic is zwar erst ein paar jahre alt, aber daraus kann man naütrlich schnell mal ein paar jahrzehnte machen   
 
 
ich habe einen code für visual basic... ich poste ihn mal, und mach mich mal dran, den nach FB zu übersetzen:
 
EDIT: Dieser Code funktioniert unter Freebasic:
 
 
 	  | Code: | 	 		  
 
 
'zunächst die benötigten API-Deklarationen
 
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
 
Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long
 
Declare Function RegSetValueEx_String Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
 
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
 
#define Boolean Integer
 
#define True -1
 
#define False 0
 
Const HKEY_CURRENT_USER = &H80000001
 
Const HKEY_LOCAL_MACHINE = &H80000002
 
 
Const KEY_QUERY_VALUE = &H1
 
Const KEY_SET_VALUE = &H2
 
Const KEY_CREATE_SUB_KEY = &H4
 
Const KEY_ENUMERATE_SUB_KEYS = &H8
 
Const KEY_NOTIFY = &H10
 
Const KEY_CREATE_LINK = &H20
 
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK
 
Const ERROR_SUCCESS = 0&
 
Const REG_NONE = 0
 
Const REG_SZ = 1
 
 
'Anwendung in Registry eintragen
 
'
 
'sDescr:  Beschreibung/Bezeichnung
 
'sPath :  Pfad inkl. Dateiname der Anwendung
 
'===========================================
 
Public Function SetAutoRun(sDescr As String, sPath As String) As Boolean
 
 
  Dim lResult As Long
 
  Dim KeyHandle As Long
 
  Dim Key As String
 
 
  Const root = HKEY_CURRENT_USER
 
  Key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
 
 
  lResult = RegOpenKeyEx(root, Key, 0, KEY_ALL_ACCESS, _
 
    KeyHandle)
 
  If lResult <> ERROR_SUCCESS Then
 
    SetAutoRun = False
 
    Exit Function
 
  End If
 
 
  '+1 für die Null am Ende
 
  lResult = RegSetValueEx_String(KeyHandle, sDescr, 0, _
 
    REG_SZ, sPath, Len(sPath) + 1)
 
 
  RegCloseKey KeyHandle
 
  SetAutoRun = (lResult = ERROR_SUCCESS)
 
End Function
 
 
'aus Registry entfernen
 
'
 
'sDescr:  Beschreibung/Bezeichnung
 
'=================================
 
Function RemoveAutoRun(sDescr As String) As Boolean
 
  Dim lResult As Long
 
  Dim KeyHandle As Long
 
  Dim Key As String
 
 
 
  Const root = HKEY_CURRENT_USER
 
  Key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
 
 
  lResult = RegOpenKeyEx(root, Key, 0, _
 
    KEY_ALL_ACCESS, KeyHandle)
 
  If lResult <> ERROR_SUCCESS Then
 
    RemoveAutoRun = False
 
    Exit Function
 
  End If
 
  lResult = RegDeleteValue(KeyHandle, sDescr)
 
  RemoveAutoRun = (lResult = ERROR_SUCCESS)
 
  RegCloseKey KeyHandle
 
End Function
 
SetAutoRun "Mein Programm", "C:\Programme\Freebasic\fbide.exe"
 
 | 	  
 
 
wichtig ist dabei, dass die BESCHREIBUNG beim löschen und erstellen die selbe ist! _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
 
  Zuletzt bearbeitet von Jojo am 29.03.2007, 23:41, insgesamt einmal bearbeitet | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Eternal_pain
 
  
  Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
  | 
		
			
				 Verfasst am: 29.03.2007, 23:37    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Dann schau Dir am besten das FreeBasic Beispiel unter Examples/Windows -> desktop_shortcut.bas an, das müsste Dir weiterhelfen können... _________________
   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		vinny
 
 
  Anmeldungsdatum: 27.02.2007 Beiträge: 32
 
  | 
		
			
				 Verfasst am: 29.03.2007, 23:38    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi!
 
boah das ging schnell   danke!!!!  also er kann qbasic, was ja sehr ähnlich is und das gibts schon n paar jährchen;)
 
Gruß vipert | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 29.03.2007, 23:41    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				habe im obigen post den vb-code  durch fb-code ersetzt. viel spaß damit  
 
und das mit qb/fb war mir klar, sollte ja nur'n scherz sein   qb kann aber halt nich mit der registry umgehn...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 29.03.2007, 23:44    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vinny hat Folgendes geschrieben: | 	 		  Hi!
 
erstmal danke für die schnelle antwort:-) aber kann man das nicht vieleicht ins proggi einprogrammieren? weil mein Vater möchte das prog auch für sich auf der Arbeit benutzen(das aktuelle kalenderproggi von denen hebelt andere programme aus) und alle PCs da(um die 50) sind mit einander verbunden... dann läd er nur die exe auf die festplatten und gut ist. weil bei 50 PCs das einzustellen ist auch blöd  
 
 
PS.: mein vater ist da informatiker, hat aber freebasic seit jahrzenten nich mehr benutzt und hat es also größtenteils verlent   | 	  ..
 
Vllt. könntest du deinen Vater mal daran erinnern, daß in einem Netz Dateien an zentraler Stelle gelagert werden können, sodaß bei Änderungen nur eine Datei gändert werden muß und nicht die Verknüpfungen, die darauf zeigen..
 
Vllt. sollte er aber auch einen SystemAdmin zu Rate ziehen   _________________
  	  | v1ctor hat Folgendes geschrieben: | 	 		  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 	  ..also ungefähr so, wie ich GOTO.. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		vinny
 
 
  Anmeldungsdatum: 27.02.2007 Beiträge: 32
 
  | 
		
			
				 Verfasst am: 29.03.2007, 23:47    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi!
 
er is systemadmin   aber halt nebenbei noch alt    und brauch halt heut nich mehr viel zu proggen   außerdem mach ich das lieber selber sonst hocken wir 8 stunden am stück am pc und knobeln rum und machens dann doch gemeinsam   auf jedenfall vielen Dank | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 30.03.2007, 01:11    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Alternativ kannst du auch den Eintrag in den "Autostart" legen.
 
 
Da sich der Autostart-ordner verändern kann, von system zu system, gibt es eine API, mit der man diese Position erfassen kann.
 
 
 	  | Code: | 	 		  Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
 
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
 
Private Const CSIDL_COMMON_STARTUP As Long = &H18
 
 
Private Function GetSysPath(V_Num As Long) As String
 
On Error Resume Next
 
Dim Result As Long
 
Dim Buff As String
 
Dim idl As ITEMIDLIST
 
Result = SHGetSpecialFolderLocation(Form1.hWnd, V_Num, idl)
 
If Result = 0 Then
 
    Buff = Space$(512)
 
    Result = SHGetPathFromIDList(ByVal idl.mkid.cb, ByVal Buff)
 
    If Result = 0 Then GetSysPath = Left(Buff, InStr(Buff, Chr(0)) - 1)
 
End If
 
End Function | 	  
 
 
Den Pdaf kanst du dann wie folgt erfassen:
 
 	  | Code: | 	 		  Dim AutoStartPfad as string
 
AutoStartPfad = GetSysPath(CSIDL_COMMON_STARTUP) | 	  
 
 
rest is dann nur eine verknüpfungserstellung
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 30.03.2007, 02:00    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				...um korrekte verknüpfungen zu erstellen, brauch man aber uach wieder ne api... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		vinny
 
 
  Anmeldungsdatum: 27.02.2007 Beiträge: 32
 
  | 
		
			
				 Verfasst am: 01.04.2007, 23:16    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi!
 
ok danke!!!   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Devilkevin aka Kerstin
  
  Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
  | 
		
			
				 Verfasst am: 02.04.2007, 00:34    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vinny hat Folgendes geschrieben: | 	 		  Hi!
 
er is systemadmin   aber halt nebenbei noch alt    und brauch halt heut nich mehr viel zu proggen   außerdem mach ich das lieber selber sonst hocken wir 8 stunden am stück am pc und knobeln rum und machens dann doch gemeinsam   auf jedenfall vielen Dank | 	  
 
 
Hauptberuflich Alt, nebenberuflich Informatiker       _________________ www.piratenpartei.de | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 02.04.2007, 15:13    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Devilkevin hat Folgendes geschrieben: | 	 		  | Hauptberuflich Alt | 	  ..alt ist relativ und bedeutet nicht unbedingt gleich am Doppelherz-Tropf zu hängen..
 
eine Bekannte von mir macht, seit sie Rentnerin ist, Sprachbegleitung für Kollegen(hat extra Englisch gelernt/aufgefrischt..)
 
Merke: Es gibt Leben auch für Menschen, die älter sind als 20  
 
Gruß
 
ytwinky _________________
  	  | v1ctor hat Folgendes geschrieben: | 	 		  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 	  ..also ungefähr so, wie ich GOTO.. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Keks
 
 
  Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
  | 
		
			
				 Verfasst am: 27.04.2008, 19:10    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				*Ausgrab*
 
 
Bei mir funktioniert der Code nicht ganz. Fehlermeldungen:
 
 
 	  | Code: | 	 		  datei.bas(57) error 41: Variable not declared, SetAutoRun in 'SetAutoRun "datei", "datei.exe"'
 
datei.bas(98) error 4: Duplicated definition in 'PUBLIC FUNCTION SetAutoRun(sDescr AS STRING, sPath AS STRING) AS Boolean'
 
 | 	  
 
 
Kann das daran liegen, dass der Code schon ein Jahr alt ist? _________________ RUN "brain.exe"
 
Datei nicht gefunden | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 27.04.2008, 19:12    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Soll das von meinem code stammen? der läuft hier immer noch ohne probleme... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Keks
 
 
  Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
  | 
		
			
				 Verfasst am: 27.04.2008, 19:17    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Habs nochmal neu eingebaut, jetzt gehts.
 
 
Darf man Funktionen etwa nicht am Ende stehen haben?
 
Weil ich hatte die beiden nur nach unten verschoben. _________________ RUN "brain.exe"
 
Datei nicht gefunden | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 27.04.2008, 19:20    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				wenn du die funktion nach den eigentlich quellcode setzt, musst du sie vorher deklarieren (DECLARE SUB/FUNCTION...) _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Keks
 
 
  Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
  | 
		
			
				 Verfasst am: 27.04.2008, 19:29    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ah, gut zu wissen. _________________ RUN "brain.exe"
 
Datei nicht gefunden | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Keks
 
 
  Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
  | 
		
			
				 Verfasst am: 27.04.2008, 20:24    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Entschuldigung für Doppelpost, aber ich hoffe etwas noch heute fertig zu bekommen.
 
 
 
Ich habe mit autoruns den Autostarteintrag nicht gefunden (durch strg+f).
 
 
Kann es daran liegen, dass ich den absoluten Pfad (mit Datenträger) nicht angegeben habe? _________________ RUN "brain.exe"
 
Datei nicht gefunden | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |