Bildschirmschoner installieren
Übersicht

Z'eluR_lliBBetreff: Bildschirmschoner installieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo allerseits!
Also: Ich habe einen Bildschirmschoner programmiert, den ich nun durch ein bestimmtes Programm installieren lassen möchte... Mir geht es dabei eigentlich zuerst darum, wie man in BlitzBasic Dateien kopiert, diese dann noch in den System32 Ordner (bei win xp, me und 2000). Dabei wäre es nicht schlecht, eine Funktion zu haben, die den System32 ausfindig macht (so "SystemRoot" mäßig). Das beste wäre natürlich, wenn der Bildschirmschoner nach dem Kopieren gleich noch installiert würde... Danke schon im voraus! ![]() mfg Z'eluR_lliB 8) cu |
||
- Zuletzt bearbeitet von Z'eluR_lliB am So, Sep 11, 2005 17:31, insgesamt einmal bearbeitet
Florian |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
;.lib "shell32.dll"
;SHGetSpecialFolderPath%(hwndOwner$,lpszPath*,nFolder%,fCreate%):"SHGetSpecialFolderPathA" Const CSIDL_DESKTOP = 0 Const CSIDL_INTERNET = 1 Const CSIDL_PROGRAMS = 2 Const CSIDL_CONTROLS = 3 Const CSIDL_PRINTERS = 4 Const CSIDL_PERSONAL = 5 Const CSIDL_FAVORITES = 6 Const CSIDL_STARTUP = 7 Const CSIDL_RECENT = 8 Const CSIDL_SENDTO = 9 Const CSIDL_BITBUCKET = 16 Const CSIDL_STARTMENU = 17 Const CSIDL_NETWORK = 18 Const CSIDL_NETHOOD = 19 Const CSIDL_FONTS = 20 Const CSIDL_TEMPLATES = 21 Const CSIDL_COMMON_STARTMENU = 22 Const CSIDL_COMMON_PROGRAMS = 23 Const CSIDL_COMMON_STARTUP = 24 Const CSIDL_COMMON_DESKTOPDIRECTORY = 25 Const CSIDL_APPDATA = 26 Const CSIDL_PRINTHOOD = 27 Const CSIDL_LOCAL_APPDATA = 28 Const CSIDL_ALTSTARTUP = 29 Const CSIDL_COMMON_ALTSTARTUP = 30 Const CSIDL_COMMON_FAVORITES = 31 Const CSIDL_INTERNET_CACHE = 32 Const CSIDL_COOKIES = 33 Const CSIDL_HISTORY = 34 Const CSIDL_COMMON_APPDATA = 35 Const CSIDL_WINDOWS = 36 Const CSIDL_SYSTEM = 37 Const CSIDL_PROGRAM_FILES = 38 Const CSIDL_MYPICTURES = 39 Const CSIDL_PROFILE = 40 Const CSIDL_SYSTEMX86 = 41 Const CSIDL_PROGRAM_FILESX86 = 42 Const CSIDL_PROGRAM_FILES_COMMON = 43 Const CSIDL_PROGRAM_FILES_COMMONX86 = 44 Const CSIDL_COMMON_TEMPLATES = 45 Const CSIDL_COMMON_DOCUMENTS = 46 Const CSIDL_COMMON_ADMINTOOLS = 47 Const CSIDL_ADMINTOOLS = 48 Const CSIDL_CONNECTIONS = 49 Graphics 800,200,0,2 folderbank=CreateBank(1400) SHGetSpecialFolderPath(0, folderbank, CSIDL_SYSTEMX86 , 0) Print getbankstring$(folderbank, 1400) WaitKey Function GetBankString$(bank, size) For i=0 To size-1 wert$=wert$ + PeekByte(bank, i) Next While Len(wert$)<>0 If Int(Left$(wert$, 1))>2 Then antwort$=antwort$ + Chr$(Int(Left$(wert$, 2))) wert$=Mid$(wert$, 3) Else antwort$=antwort$ + Chr$(Int(Left$(wert$, 3))) wert$=Mid$(wert$, 4) End If Wend FreeBank bank Return Trim$(antwort$) End Function |
||
Z'eluR_lliB |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sorry, aber mit diesem hohen niveau und keinerlei kommentar kann ich praktisch nichts anfangen...
könnte einer von euch bitte alles nocheinmal für normal sterbliche erklären?? thx |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was Florian dir da gepostet hat kannst du nur benutzen, wenn du entweder Blitz3D (keine Demo + Update auf 1.90) oder B+ (keine Demo) hast. Er versuchte dir lediglich zu zeigen, wie du die Systempfade bekommst...
Dies hier gehört als *.decls in dein Userlib Verzeichniss. Code: [AUSKLAPPEN] .lib "shell32.dll"
SHGetSpecialFolderPath%(hwndOwner$,lpszPath*,nFolder%,fCreate%):"SHGetSpecialFolderPathA" Das Zeugs weißt Blitz an auf die Windows DLL "Shell32" zuzugreifen, wenn du in deinem Programm den Befehl "SHGetSpecialFolderPath" ausführst. Das sind konstante Werte die der API-Befehl "SHGetSpecialFolderPath" benötigt um dir das richtige Verzeichniss zurückzugeben. Code: [AUSKLAPPEN] Const CSIDL_DESKTOP = 0
Const CSIDL_INTERNET = 1 Const CSIDL_PROGRAMS = 2 Const CSIDL_CONTROLS = 3 Const CSIDL_PRINTERS = 4 Const CSIDL_PERSONAL = 5 Const CSIDL_FAVORITES = 6 Const CSIDL_STARTUP = 7 Const CSIDL_RECENT = 8 Const CSIDL_SENDTO = 9 Const CSIDL_BITBUCKET = 16 Const CSIDL_STARTMENU = 17 Const CSIDL_NETWORK = 18 Const CSIDL_NETHOOD = 19 Const CSIDL_FONTS = 20 Const CSIDL_TEMPLATES = 21 Const CSIDL_COMMON_STARTMENU = 22 Const CSIDL_COMMON_PROGRAMS = 23 Const CSIDL_COMMON_STARTUP = 24 Const CSIDL_COMMON_DESKTOPDIRECTORY = 25 Const CSIDL_APPDATA = 26 Const CSIDL_PRINTHOOD = 27 Const CSIDL_LOCAL_APPDATA = 28 Const CSIDL_ALTSTARTUP = 29 Const CSIDL_COMMON_ALTSTARTUP = 30 Const CSIDL_COMMON_FAVORITES = 31 Const CSIDL_INTERNET_CACHE = 32 Const CSIDL_COOKIES = 33 Const CSIDL_HISTORY = 34 Const CSIDL_COMMON_APPDATA = 35 Const CSIDL_WINDOWS = 36 Const CSIDL_SYSTEM = 37 Const CSIDL_PROGRAM_FILES = 38 Const CSIDL_MYPICTURES = 39 Const CSIDL_PROFILE = 40 Const CSIDL_SYSTEMX86 = 41 Const CSIDL_PROGRAM_FILESX86 = 42 Const CSIDL_PROGRAM_FILES_COMMON = 43 Const CSIDL_PROGRAM_FILES_COMMONX86 = 44 Const CSIDL_COMMON_TEMPLATES = 45 Const CSIDL_COMMON_DOCUMENTS = 46 Const CSIDL_COMMON_ADMINTOOLS = 47 Const CSIDL_ADMINTOOLS = 48 Const CSIDL_CONNECTIONS = 49 Da dir "SHGetSpecialFolderPath" keinen String zurückgibt muß man das ganze noch via bank in einen String konvertieren : Code: [AUSKLAPPEN] Function GetBankString$(bank, size)
For i=0 To size-1 wert$=wert$ + PeekByte(bank, i) Next While Len(wert$)<>0 If Int(Left$(wert$, 1))>2 Then antwort$=antwort$ + Chr$(Int(Left$(wert$, 2))) wert$=Mid$(wert$, 3) Else antwort$=antwort$ + Chr$(Int(Left$(wert$, 3))) wert$=Mid$(wert$, 4) End If Wend FreeBank bank Return Trim$(antwort$) End Function Und zum guten Schluss noch der Aufruf aus deinem Code : Code: [AUSKLAPPEN] folderbank=CreateBank(1400)
SHGetSpecialFolderPath(0, folderbank, CSIDL_SYSTEMX86 , 0) Print getbankstring$(folderbank, 1400) |
||
Z'eluR_lliB |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab sowieso nur Blitz 2D. Kann man dann da garnichts machen?
Nicht einmal Dateien kopieren? |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich kannst du eine Datei mit Blitz kopieren siehe ql:CopyFile nur bekommst du so nicht via Blitz das System32 Verzeichniss heraus. Am besten machst du dich erst mal mit diesen Befehlen vertraut. | ||
Florian |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoffendlich geht das mit Blitz 2D.
BlitzBasic: [AUSKLAPPEN]
|
||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das gilt meines Wissens nach nur für XP.
Hier eignet sichBlitzBasic: [AUSKLAPPEN] SystemProperty$(\"SYSTEMDIR\")Klappt auch mit B2D |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie kann ich überhaupt nen bildschirmschoner aus ner exe ersstellen??? ![]() |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die .exe in .scr umbenennen | ||
[BB2D | BB3D | BB+]
|
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
THX ![]() |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm den InnoSetup-Installer (OpenSource, kostenlos). Da kannst du total easy für jede Datei bestimmen, in welchen Ordner die bei der Installation kopiert werden soll. Einfacher geht's net.
Inno Setup Website |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Stimmt den hab ich auch, da kann man viel anpassen, das ist sehr praktisch ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group