Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Compile_AHK II : Alternative Compiler Gui
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Mi Apr 16, 2008 1:22 pm    Titel: Antworten mit Zitat

Update vom 16.04.2008 v2
    + Neu: Hinweis auf Begriffe im gewählten Programmnamen, die unter Vista Admin-Rechte erzwingen


im moment kommt der hinweis allerdings nur beim kompilieren unter vista. ist es sinnvoll, wenn der hinweis auch unter xp usw. kommt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ripp3r]D3[



Anmeldedatum: 11.11.2007
Beiträge: 481
Wohnort: Altenburg\Kernel32.dll

BeitragVerfasst am: Mi Apr 16, 2008 3:36 pm    Titel: Antworten mit Zitat

Ja währe am besten wenn das nur einmal beim ersten ausführen kommt oder so das man es mit haken ausblenden kann...
_________________

ResistantX:
"...In deren Köpfen läuft das selbe Programm welches auch bei den früheren Jahrgängen lief! Ich bin der Virus der diese Programme zerstören will..."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Mi Apr 16, 2008 6:13 pm    Titel: Antworten mit Zitat

microsoft schreibt dazu unter http://msdn2.microsoft.com/en-us/library/bb756960.aspx folgendes:
Microsoft hat Folgendes geschrieben:
Installer Detection only applies to:

* 32 bit executables
* Applications without a requestedExecutionLevel
* Interactive processes running as a Standard User with UAC enabled

Before a 32 bit process is created, the following attributes are checked to determine whether it is an installer:

* Filename includes keywords like "install," "setup," "update," etc.
* Keywords in the following Versioning Resource fields: Vendor, Company Name, Product Name, File Description, Original Filename, Internal Name, and Export Name
* Keywords in the side-by-side application manifest embedded in the executable
* Keywords in specific StringTable entries linked in the executable
* Key attributes in the resource file data linked in the executable
* Targeted sequences of bytes within the executable

von daher habe ich mir was anderes überlegt. erklärung erfolgt bei vö.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RobOtter



Anmeldedatum: 21.03.2006
Beiträge: 42
Wohnort: Darmstadt

BeitragVerfasst am: Mi Apr 16, 2008 6:30 pm    Titel: Antworten mit Zitat

Ich hab´s jetzt mal getestet, und Du hast vollkommen Recht, ladiko - wenn ich bloß den Dateinamen ändere, geht´s schon! Und ich hatte wohl mit den Original-Compiler deswegen keine Probleme, weil ich den Namen auf pkb.exe gelassen hatte...

Wunderbar, Problem gelöst, vielen Dank!
_________________
Ich sag doch gar nichts, ich red ja nur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Mi Apr 16, 2008 11:13 pm    Titel: Antworten mit Zitat

Update vom 17.04.2008
    + Änderung: Alle Vista Execution Levels zur Auswahl verfügbar


der hinweis bzgl. des dateinames kommt jetzt immer und unter jedem betriebssystem, wenn man kein vista execution level ausgewählt hat und der dateiname einen der geblacklisteten begriffe enthält. dafür kann man jetzt aber alle execution levels auswählen.

wenn sich jemand von dem dateinamen-hinweis genervt fühlt, muss er halt ein execution level wählen. was die einzelnen levels bewirken erfährt man, wenn man auf den neuen hilfe-button klickt.

@RobOtter
wenn du deine PatchKeyboard.exe mit "asInvoker" kompilierst, kommt keine UAC-Abfrage mehr (siehe help-button)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Mi Apr 16, 2008 11:49 pm    Titel: Antworten mit Zitat

RobOtter hat Folgendes geschrieben:
Moin,

ich komme nicht so ganz klar mit relativen Pfadangaben:
Nachdem ich die irre vielen Posts überflogen habe, dachte ich, dass inzwischen rel. Pfade möglich wären (habe die aktuelle v2 vom 14.4.08 ).
Zwar kann ich für das Kompilat einfach einen Namen ohne Pfad angeben, es landet aber nicht im gleichen Verzeichnis wie das Source-Skript (das hätte ich erwartet). Statt dessen blitzt kurz die Erfolgsmeldung auf, in der steht, dass die Exe in mein lokales Temp-Verzeichnis+AutoHotkey\Compiler geschrieben wurde (das konnte ich nur erkennen, weil ich schnell einen Screenshot der Meldung gemacht habe). Warum dort?

Relative Pfade für Icons gehen leider gar nicht. Auch hier wäre mein Wunsch, dass bei einer relativen Pfad/Dateiangabe vom aktuellen Verzeichnis des Source-Skripts ausgegangen wird und das ermittelte Verzeichnis auch nicht in der INI gespeichert wird (ich compile mein Skript auf mehreren Rechnern, da sind natürlich die Pfade nicht immer identisch).

Reine Kosmetik, wahrscheinlich leicht umzusetzen:
In den Dateieigenschaften des Kompilats steht im Tab "Version" als Sprache "Englisch (USA)". Wäre schön, wenn man das auch über die GUI ändern könnte.

Ein letzter Wunsch: Es wäre ein echtes Bonbon, wenn man Bilder etc. gleich mit in die Exe kompilieren könnte - dies wurde, wie ich eben mal gesucht habe, im englischen Forum schon mehrmals besprochen und läuft eigentlich immer wieder darauf hinaus, dass die AutoHotkeySC.bin für das jeweilige Kompilat angepasst werden müsste - eine thematische Punktlandung für Compile_AHK, oder? Passender Thread: http://www.autohotkey.com/forum/viewtopic.php?t=9980

Wenn einige meiner Fragen / Wünsche jetzt schon funktionieren, wäre ich dankbar wenn mir jemand erklären könnte WIE ich sie umsetzen kann.

Grüße,
Rob

den beitrag hab ich voll übersehen oO
relative pfade ... in compile_ahk müssen im moment noch volle pfade zu sehen sein bzw. eingetragen werden. in der ini-datei werden diese dann allerdings ersetzt durch %IN_DIR% - was soviel heißen soll wie das verzeichnis der input.ahk-datei. beim starten von compile_ahk wird diese variable wieder durch den aktuellen pfad des ordners ersetzt indem die input.ahk-datei gerade liegt. wenn man aber nur den dateinamen in das feld einträgt, wird %A_workingDir% als ordner verwendet und das ist in dem falle %Temp%\AutoHotkey\Compiler\ - das ist der windows mechanismus... muss ich mal drüber nachdenken.

zu den anderen themen überlege ich mir was. zu den bildern muss ich mich überhaupt erstmal belesen. bzgl. des eintrags English (USA) -> grundsätzlich möglich, allerdings steht das nicht als klartext in der versioninfo sondern:
0x0409 = English (USA)
0x0407 = German
usw. siehe --> http://msdn2.microsoft.com/en-us/library/aa381057(VS.85).aspx muss wohl die komplette liste in compile_ahk eingepflegt werden ...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RobOtter



Anmeldedatum: 21.03.2006
Beiträge: 42
Wohnort: Darmstadt

BeitragVerfasst am: Do Apr 17, 2008 10:26 am    Titel: Antworten mit Zitat

ladiko hat Folgendes geschrieben:
relative pfade ... in compile_ahk müssen im moment noch volle pfade zu sehen sein bzw. eingetragen werden. in der ini-datei werden diese dann allerdings ersetzt durch %IN_DIR% - was soviel heißen soll wie das verzeichnis der input.ahk-datei.

Ja, das ist schon mal gut und funzt auch prima. Es ist für den Benutzer allerdings ziemlich verwirrend und missdeutig, wenn er (per Hand, nicht über den Auswahl-Dialog) einfach einen Namen, evtl. mit relativer Pfadangabe, tippt und dann das Icon nicht gefunden wird. Für ihn ist ja das aktuelle Verzeichnis das seines eigenen Skripts, nicht das von Compile_AHK.

ladiko hat Folgendes geschrieben:
bzgl. des eintrags English (USA) -> grundsätzlich möglich, allerdings steht das nicht als klartext in der versioninfo sondern:
0x0409 = English (USA)
0x0407 = German
usw. siehe --> http://msdn2.microsoft.com/en-us/library/aa381057(VS.85).aspx muss wohl die komplette liste in compile_ahk eingepflegt werden ...

Ja, ich hatte das gesehen, als ich mir die generierten res-Dateien mal angeschaut hatte.
Die Liste von MS ist zwar nur mittelmäßig lang und das ganze macht nur Fleißarbeit, keine Denkarbeit, aber es ist wirklich zu überlegen, ob es den Aufwand lohnt. Übrigens habe ich in einer Windows-Datei auch schon die Angabe "Sprach-Neutral" (oder so ähnlich) gesehen, das ist in der MS-Liste gar nicht aufgeführt.
Mal abgesehen davon, dass die Sprachangabe eh keine Relevanz hat, schaut sich wahrscheinlich sowieso kaum einer die VersionInfos an. Und wenn, dann wird ihn die Angabe "Englisch (USA)" bei einem deutschen Programm auch nicht umbringen Smile
Wie ich schon sagte: Kosmetik halt. Und die sollte man nicht überbewerten, auch wenn viele Frauen da anderer Meinung sind Smile
_________________
Ich sag doch gar nichts, ich red ja nur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Do Apr 17, 2008 10:47 am    Titel: Antworten mit Zitat

RobOtter hat Folgendes geschrieben:
Für ihn ist ja das aktuelle Verzeichnis das seines eigenen Skripts, nicht das von Compile_AHK.

ist ja nicht das von compile_ahk sondern %TEMP%\Autohotkey\Compiler
wäre doch sehr abwegig ein programm unter %TEMP% zu installieren Smile

RobOtter hat Folgendes geschrieben:
Es ist für den Benutzer allerdings ziemlich verwirrend und missdeutig, wenn er (per Hand, nicht über den Auswahl-Dialog) einfach einen Namen, evtl. mit relativer Pfadangabe, tippt und dann das Icon nicht gefunden wird.
wenn es nur darum geht, kann ich auch einfach alle textfelder disabled setzen, dann muss man den auswahl-dialog benutzen - friss oder stirb Razz
RobOtter hat Folgendes geschrieben:
Ja, ich hatte das gesehen, als ich mir die generierten res-Dateien mal angeschaut hatte.
Die Liste von MS ist zwar nur mittelmäßig lang und das ganze macht nur Fleißarbeit, keine Denkarbeit, aber es ist wirklich zu überlegen, ob es den Aufwand lohnt.
Übrigens habe ich in einer Windows-Datei auch schon die Angabe "Sprach-Neutral" (oder so ähnlich) gesehen, das ist in der MS-Liste gar nicht aufgeführt.
in der rc-datei müsste das besser lesbar sein als in der res-datei. eine halbwegs vollständige liste: http://www.autohotkey.com/docs/misc/Languages.htm
sprachneutral wäre wahrscheinlich, wenn man den eintrag einfach weg lässt - wäre zu testen. und ohne fleiß kein preis, soviel arbeit is das nicht, macht nur den compiler wegen der liste der sprachnamen nen paar byte größer.

RobOtter hat Folgendes geschrieben:
Mal abgesehen davon, dass die Sprachangabe eh keine Relevanz hat, schaut sich wahrscheinlich sowieso kaum einer die VersionInfos an.
ich schon hin und wieder mal bei manchem programmen, aber wenn man das so sieht, kann ich das ändern der VersionInfo ja auch ganz entfernen, guckt sich ja eh keiner an Wink
RobOtter hat Folgendes geschrieben:
Und wenn, dann wird ihn die Angabe "Englisch (USA)" bei einem deutschen Programm auch nicht umbringen Smile
keine versioninfo bringt mich auch nicht um, aber ist hin und wieder doch ganz nett um zu sehen wer das programm entwickelt hat. wenn z.b. mal wieder irgend ne exe im windows-ordner rumliegt und kein icon hat und der name einem auch nichts sagt. hab noch keinen virus gesehen, der als produzent "microsoft" ausweist - komisch eigentlich ... und nein, ntoskrnl.exe und iexplore.exe seh ich nicht als virus an.
RobOtter hat Folgendes geschrieben:
Wie ich schon sagte: Kosmetik halt. Und die sollte man nicht überbewerten, auch wenn viele Frauen da anderer Meinung sind Smile
ein bisschen oberflächlichkeit steckt doch in jedem von uns. zitat: "ey boah, kiek ma die kirsche da, die hat bestimmt nen total geilen charakter!!!" Cool

ich bau's einfach ein, wer's braucht, benutzt's, wer nich, der nich.
bzgl. der relativen pfade: müsste sowas wie ./bigicon.ico oder ./bigicon.ico auch abgedeckt werden? denn dann müsst ich die verwendete ordnerstruktur nochmals überdenken.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RobOtter



Anmeldedatum: 21.03.2006
Beiträge: 42
Wohnort: Darmstadt

BeitragVerfasst am: Do Apr 17, 2008 1:34 pm    Titel: Antworten mit Zitat

ladiko hat Folgendes geschrieben:
RobOtter hat Folgendes geschrieben:
Für ihn ist ja das aktuelle Verzeichnis das seines eigenen Skripts, nicht das von Compile_AHK.

ist ja nicht das von compile_ahk sondern %TEMP%\Autohotkey\Compiler
wäre doch sehr abwegig ein programm unter %TEMP% zu installieren Smile

Jaja, hast ja recht... Wink

ladiko hat Folgendes geschrieben:
RobOtter hat Folgendes geschrieben:
Es ist für den Benutzer allerdings ziemlich verwirrend und missdeutig, wenn er (per Hand, nicht über den Auswahl-Dialog) einfach einen Namen, evtl. mit relativer Pfadangabe, tippt und dann das Icon nicht gefunden wird.
wenn es nur darum geht, kann ich auch einfach alle textfelder disabled setzen, dann muss man den auswahl-dialog benutzen - friss oder stirb Razz

Och menno... Smile Das nimmt Dir natürlich die Möglichkeit zu erkennen, ob der User nun wirklich einen absoluten Pfad angeben wollte oder doch nur einen relativen - denn FileSelectFile gibt immer den absoluten Pfad zurück. Du müsstest also immer von einem relativen Pfad ausgehen - was in den meisten Fällen auch sicherlich sinnvoll ist. Aber damit hätten wir dann bloß "immer absolute Pfade" gegen "immer relative Pfade" eingetauscht.

ladiko hat Folgendes geschrieben:
ich schon hin und wieder mal bei manchem programmen, aber wenn man das so sieht, kann ich das ändern der VersionInfo ja auch ganz entfernen, guckt sich ja eh keiner an Wink
...
ich bau's einfach ein, wer's braucht, benutzt's, wer nich, der nich.

Wunderbar! Wenn schon, denn schon! - Das wollte ich von Anfang an, aber ich konnte Dir diese Haltung natürlich nicht aufzwingen. Schließlich können wir alle dankbar sein, dass Du das Teilchen überhaupt weiterbaust.

ladiko hat Folgendes geschrieben:
ein bisschen oberflächlichkeit steckt doch in jedem von uns. zitat: "ey boah, kiek ma die kirsche da, die hat bestimmt nen total geilen charakter!!!" Cool

ROFLMAO
Ich geb´s ja auch zu: Tief in meinem Innern bin ich ziemlich oberflächlich...

ladiko hat Folgendes geschrieben:
bzgl. der relativen pfade: müsste sowas wie ./bigicon.ico oder ./bigicon.ico auch abgedeckt werden?

Wo ist denn jetzt der Unterschied? Oder meintest Du ./bigicon.ico und ../bigicon.ico? Die Angabe des Elternverzeichnisses sollte natürlich auch funktionieren, klar. Ich halte das aber nur für ein bisschen Parsing-Aufwand.
_________________
Ich sag doch gar nichts, ich red ja nur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Do Apr 17, 2008 6:08 pm    Titel: Antworten mit Zitat

RobOtter hat Folgendes geschrieben:
Och menno... Smile Das nimmt Dir natürlich die Möglichkeit zu erkennen, ob der User nun wirklich einen absoluten Pfad angeben wollte oder doch nur einen relativen - denn FileSelectFile gibt immer den absoluten Pfad zurück. Du müsstest also immer von einem relativen Pfad ausgehen - was in den meisten Fällen auch sicherlich sinnvoll ist. Aber damit hätten wir dann bloß "immer absolute Pfade" gegen "immer relative Pfade" eingetauscht.
ich versteh dich so, dass jemand einen kompletten pfad einträgt, weil er keinen relativen pfad will und das script kompiliert und die exe-datei somit erstmal im selben ordner liegt (in der ini-datei wird jetzt aber %IN_DIR% eingetragen). danach kommt er auf die idee dass script in einen anderen ordner zu packen, wobei die kompilierte exe-datei aber weiterhin im alten ordner entstehen soll, was natürlich jetzt nicht mehr passiert, da der neue skript-ordner der output-ordner ist. kannst du dir so ein szenario wirklich vorstellen? macht jemand sowas? das ist nämlich der einzige fall, den ich mir jetzt ausmalen könnte, wo das probleme bringt. wird von vorn herein ein output-pfad gewählt, der nicht innerhalb des skript-ordners liegt, wird eh der feste pfad gespeichert.
RobOtter hat Folgendes geschrieben:
Wo ist denn jetzt der Unterschied? Oder meintest Du ./bigicon.ico und ../bigicon.ico? Die Angabe des Elternverzeichnisses sollte natürlich auch funktionieren, klar. Ich halte das aber nur für ein bisschen Parsing-Aufwand.
ja sorry ich meinte beim 2. mal natürlich ..\bigicon.ico
könnte man natürlich parsen, sicher sicher, und dann bei ..\..\..\..\..\..\..\bigicon.ico einfach entsprechend oft durch-loopen.
einfacher wäre es in dann allerdings %A_WorkingDir% auf %IN_DIR% zu setzen. dann sollten alle relative pfade gefressen werden, die windows / ahk sonst auch akzeptieren würde.

einziger nachteil der mir momentan einfällt:
alle dateien die momentan in %temp%\AutoHotkey\Compiler liegen bleiben, liegen dort absichtlich für eventuelle debugging-zwecke und auf grund von expliziten pfaden. das würde auch alles funktionieren, wenn dieses verzeichnis nicht mehr gleichzeitig durch %A_WorkingDir% angesprochen würde. ABER:
wenn beim compilieren unvorhersehbarer datenmüll anfällt, landet der dann nicht mehr unbedingt unter %temp%\AutoHotkey\Compiler, sondern in %IN_DIR%. sollte grundsätzlich nicht passieren, aber wir wissen ja wie das mit den grundsätzen ist ... wäre das ein akzeptables risiko?

Update vom 17.04.2008 v2
    + Änderung: VersionInfo Language und Codepage / Charset können ausgewählt werden


zu codepage / charset: ich habe keine ahnung wo man das einsehen kann oder was windows damit veranstaltet oder welche nebenwirkungen das haben kann. default ist "unicode". wenn jemand mehr darüber weiß, immer her damit Smile

die gui wird später an die letzte änderung angepasst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RobOtter



Anmeldedatum: 21.03.2006
Beiträge: 42
Wohnort: Darmstadt

BeitragVerfasst am: Mi Apr 23, 2008 10:33 am    Titel: Antworten mit Zitat

Sorry, ich war ein paar Tage verhindert...

Also, ich beschreibe mal die Situation, durch die mir die Thematik "abs. / rel. Pfade" aufgefallen ist:

Ich arbeite an einem Skript, welches sich im Ordner X:\y\z\MeinProjekt befindet und das weitere Resourcen (z.B. Bilder, aber auch Programm-Icons) aus dem darunter liegenden Ordner .\res\img einbinden soll.
Nun nehme ich häufiger das aktuelle Projekt mit auf einen anderen Rechner, wo ich es im Verzeichnis A:\b\c\MeinProjekt (natürlich mit den o.g. Unterordnern) ablege und eben auch immer wieder mal compiliere. Später nehme ich es - nach ein paar Änderungen - wieder mit auf den alten Rechner, dann liegt es also wieder in X:\y\z\MeinProjekt.
Die Compiler-Einstellungen will ich in der Oberfläche nun so angeben, dass meine compilierte Zieldatei im gleichen Ordner wie das Skript liegt, also gebe ich dort (per Hand) nur den Dateinamen ein - ohne Pfad. Ähnlich ist es mit den Icons. Hier möchte ich nur res\img\meinIcon.ico angeben müssen - Ausgangsbasis für alle diese relativen Pfadangaben müsste immer das Verzeichnis sein, in dem mein zu compilierendes Skript liegt, also egal, ob es sich dabei um X:\y\z\MeinProjekt oder A:\b\c\MeinProjekt handelt.

Ich habe die letzten zwei oder drei Versionen diesbezüglich nicht getestet, kann also nicht sagen, ob das schon so funktioniert. Zum Zeitpunkt meines damaligen Postings ging es aber nicht (logisch Smile ).

Ich hoffe, das hat mein Anliegen jetzt deutlich gemacht. In den meisten (allen?) Fällen dürfte es richtig sein, wenn man von Pfadangaben relativ zum Ordner der Skriptdatei ausgeht. Ausnahmen könnten Pfade zu Icons sein, die in System-Dateien (.dll, .exe, .ico) liegen - wobei ich gerade gar nicht weiß, ob Compile_AHK DLLs mit Icon-Nummer überhaupt unterstützt.
_________________
Ich sag doch gar nichts, ich red ja nur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Mi Apr 23, 2008 11:36 am    Titel: Antworten mit Zitat

also icons die unter .\res\img liegen, klappen definitiv solange man den kompletten pfad einträgt, weil:

1.:
in der Ini-Datei von X:\y\z\MeinProjekt\MeinScript.ahk wird der String
X:\y\z\MeinProjekt durch %IN_DIR% ersetzt. haben wir nun also ein Icon mit dem Pfad X:\y\z\MeinProjekt\Res\Img\MainIcon.ico so wird daraus in der Ini-Datei Icon_1=%IN_DIR%\Res\Img\MainIcon.ico.

IN_DIR bezieht sich immer auf den ordner in dem das script und die dazugehörige Ini-Datei liegt. Kopiert man das Skript nun auf einen USB-Stick nach Z:\a\b\MeinProjekt\MeinScript.ahk so ist die neue IN_DIR also Z:\a\b\MeinProjekt. Somit wird aus Icon_1=%IN_DIR%\Res\Img\MainIcon.ico diesmal Z:\a\b\MeinProjekt\Res\Img\MainIcon.ico. genauso geschieht dies mit allen anderen pfaden. gibt ja im moment nur den pfad für die kompilierte exe und die pfade für die icons.

2. Fall: liegt das icon aber nicht unter
X:\y\z\MeinProjekt\Res\Img\MainIcon.ico
sondern unter
X:\y\z\Res\Img\MainIcon.ico
so kann der string X:\y\z\MeinProjekt nicht mehr ersetzt werden. der relative pfad dazu wäre ja ..\Res\Img\MainIcon.ico statt .\Res\Img\MainIcon.ico
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RobOtter



Anmeldedatum: 21.03.2006
Beiträge: 42
Wohnort: Darmstadt

BeitragVerfasst am: Mi Apr 23, 2008 11:57 am    Titel: Antworten mit Zitat

ladiko hat Folgendes geschrieben:
2. Fall: liegt das icon aber nicht unter
X:\y\z\MeinProjekt\Res\Img\MainIcon.ico
sondern unter
X:\y\z\Res\Img\MainIcon.ico
so kann der string X:\y\z\MeinProjekt nicht mehr ersetzt werden. der relative pfad dazu wäre ja ..\Res\Img\MainIcon.ico statt .\Res\Img\MainIcon.ico

Ja, aber dann hätte ich ja auch ..\Res\Img\MainIcon.ico eingegeben, weil ich dann ja weiß, dass mein Icon nicht im Ordner MeinProjekt liegt, sondern parallel dazu.
Wäre es denn problematisch? Wenn %IN_DIR% einfach durch das aktuelle Skript-Verzeichnis ersetzt und dann die relative Pfadangabe angehängt wird, erhalten wir X:\y\z\MeinProjekt\..\Res\Img\MainIcon.ico - was eine valide Pfadangabe ist. Vielleicht nicht für AHK (dann müsste man per Parsing den tatsächlichen Pfad bauen), aber nach Windows-Konvention schon.
_________________
Ich sag doch gar nichts, ich red ja nur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ladiko



Anmeldedatum: 08.02.2007
Beiträge: 68
Wohnort: Naher Osten

BeitragVerfasst am: Mi Apr 23, 2008 12:30 pm    Titel: Antworten mit Zitat

RobOtter hat Folgendes geschrieben:
Wäre es denn problematisch? Wenn %IN_DIR% einfach durch das aktuelle Skript-Verzeichnis ersetzt und dann die relative Pfadangabe angehängt wird, erhalten wir X:\y\z\MeinProjekt\..\Res\Img\MainIcon.ico - was eine valide Pfadangabe ist.
ohh tatsache, C:\Windows\System32\..\System funktioniert ja wirklich, habe ich nicht gewusst! wieder was gelernt, danke! Dann mache ich es auf diese Weise. Mal schauen ob AHK das genauso mag wie Windows. an sich beruht ahk ja auf windows APIs, müsste also gehen.

%IN_DIR% durch das Skript-Verzeichnis zu ersetzen, ist kein Problem, das wird so oder so gemacht. Das Problem ist eher, dass %IN_DIR% erstmal in der ini-Datei stehen muss. Es wird ja überhaupt erst in die Ini-Datei geschrieben, wenn sich das Icon auch in diesem Verzeichnis befindet. Ist das Icon schon einen Ordner höher im Pfad als das Skript, kann der Pfad bis zum Skript ja nicht ersetzt werden, der letzte Ordner fehlt ja. Ich werde es einfach so ändern, dass das Skript-Verzeichnis davorgesetzt wird, wenn im Pfad kein Doppelpunkt angegeben ist (also kein Laufwerksbuchste angegeben ist) und auch nicht mit \\ beginnt. Gibts noch andere möglichkeiten als <Laufwerksbuchstabe>:\ und \\<server> ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RobOtter



Anmeldedatum: 21.03.2006
Beiträge: 42
Wohnort: Darmstadt

BeitragVerfasst am: Mi Apr 23, 2008 1:22 pm    Titel: Antworten mit Zitat

ladiko hat Folgendes geschrieben:
Ich werde es einfach so ändern, dass das Skript-Verzeichnis davorgesetzt wird, wenn im Pfad kein Doppelpunkt angegeben ist (also kein Laufwerksbuchste angegeben ist) und auch nicht mit \\ beginnt. Gibts noch andere möglichkeiten als <Laufwerksbuchstabe>:\ und \\<server> ?

Mehr fällt mir auch nicht ein. Ein Stolperstein könnte allerdings noch die quasi-absolute Pfadangabe "\res\img\mainIcon.ico" sein. Hierbei wird nur das aktuelle Laufwerk als Ausgangspunkt berücksichtigt, nicht aber das aktuelle Verzeichnis.
Wenn die Eingabe also nur mit einem Backslash (statt zweien) beginnt, kannst Du nicht einfach %IN_DIR% voranstellen sondern darfst nur den LW-Buchstaben (inkl. Doppelpunkt) nehmen.

Achja: Sind eigentlich Variablen in der Verzeichnisangabe möglich? Also sowas wie %windir%\System32\moricons.dll,12 ?
Wenn ja, dann müsstest Du auch noch % als erstes Zeichen abfangen.
Interessant wird das aber wohl nur, wenn man ein Icon aus einer Datei (z.B. moricons.dll oder shell32.dll) referenzieren könnte.
_________________
Ich sag doch gar nichts, ich red ja nur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Weiter
Seite 8 von 10

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de