icon in der konsole verschwindet bei drag and drop / WIN XP



  • Hallo Zusammen.
    Dies ist mein erster Beitrag und ich programmiere grad ein Konsolen-Programm
    für meine firma und hab folgendes Problem mit dem Icon in der Titel-Leiste..

    Ich habe ein Icon mit hilfe einer .rc datei in die exe eingebunden und
    unter vista ist alles ok, aber jetzt kommt das merkwürdige...
    - wenn ich das tool unter winXP32 mit einem doppelklick starte ist alles ok
    - wenn ich es aber per drag and drop oder einem argument starte ist das icon
    links oben weg und es steht ein normales "dos" icon dort?!?

    warum verhält es sich unter XP anderst als unter vista?
    ich habe auch zum testen mal andere dos-tools mit icon aus dem internet geladen
    und bei den funktionierts unter XP ohne probleme..

    also dann muss es wohl irgendwie am icon-einbinden liegen oder am compiler???
    zum einbinden hatte ich es zuerst auf die einfache weise probiert ( auch mit unterschiedlichen

    icons die ich zuvor von einer anderen exe extrahiert habe):

    Mein erster Versuch war nur per resource.rc-Datei mit inhalt:

    0 ICON "icon.ico"
    101 ICON "icon.ico"
    

    ----------------
    oder auch
    ----------------

    MAINICON ICON "icon.ico"
    

    (reicht MAINICON oder muss es 101 heissen??)

    Mein zweiter Versuch hab ich in einem Forum gefunden wo ich die funktion nicht genau kenne aber

    hat auch nichts verändert:

    inhalt von resource.rc

    #include "resource.h"
    
    IDI_ICON1 ICON DISCARDABLE "icon.ico"
    

    (was heist DISCARDABLE??)

    inhalt von resource.h

    #define IDI_ICON1   101
    

    inhalt von main.c (den ich nicht ganz verstehe aber es compilier 😉 )

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>
    #include "resource.h"
    ....
    int main (int argc, char *argv[])
    {
    ....
    WNDCLASS wc;
     wc.hIcon = LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_ICON1));
    ....
    }
    

    Meine Software:
    - Vista 64
    - CodeBlocks mit dem MINGW Einstellung: GNU-GCC-Compiler
    Laut der Readme-Datei hab ich folgende version installiert
    -----
    gcc-core-3.4.5-20060117-1-vista.tar.gz
    gcc-g++-3.4.5-20060117-1-vista.tar.gz
    mingw-runtime-3.14.tar.gz
    mingw32-make-3.81-2.tar.gz
    mingw-utils-0.3.tar.gz
    w32api-3.11.tar.gz
    binutils-2.18.50-20080109.tar.gz
    gdb-6.7.50.20071127-mingw.tar.bz2
    -----------

    Gruss
    Daniel aus Österreich

    PS: achja hab die exe auch als release und debug-version getestet...



  • So hab die ursache durch zufall gefunden, da ich auch noch ein anderes problem gefunden habe, was unter vista nicht aufgetreten ist..

    Der Fehler ist, dass bei drag and drop unter win xp das arbeitsverzeichniss geändert wird!... wenn ich nehmlich die exe-datei mit einem Link starte, funktioniert es einwandfrei..
    im Link wird ja auch das Areitsverzeichniss angegeben.


Anmelden zum Antworten