Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

22.05.2011, 08:08

Es wäre irgendwie ziemlich absurd, wenn man das Ausführen mit Admin-Rechten erzwingen oder voreinstellen könnte.

Kann man aber, ist noch dazu der einzige Weg um das zu tun ;)
Aber du hast recht, sobald das einfach jeder tut wird das ganze System effektiv sinnlos. Zum Glück gibts ja die nervenden Fensterchen die dann kommen und dafür sorgen dass die Benutzer die entsprechenden Progamme dafür hassen würden...

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (22.05.2011, 08:15)


12

22.05.2011, 12:25

Vielen dank für die Hinweise =)

Hättest du vl ein gutes tutorial, falls ich die Konfiguration etc in der Registry speichere?

Liebe Grüße,
Ombalat

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

22.05.2011, 12:26

Würde ich abraten. Leg die Configs einfach im User-Verzeichnis ab oder lies Dir den Vorschlag von Sylence durch.
Registry-Vermüllung muss für soetwas wirklich nicht sein.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

14

22.05.2011, 12:56

Oke, dann werd ich mich mal darüber schlau machen ^^

15

22.05.2011, 14:35

Hallo nochmal!
Ich bekomme den Funktionsaufruf irgendwie nicht richtig hin >.<
Bei mir hängt sich das Programm nur auf und ich bekomme so ne "Programm funktioniert nicht mehr" Meldung.

Hier mein versuch:
ich habe den Header ShlObj.h inkludiert und die Shell32.lib im Linker hinzugefügt.

C-/C++-Quelltext

1
2
3
4
5
    PWSTR* pwstrPath;
    if(SHGetKnownFolderPath(FOLDERID_RoamingAppData,0,NULL,pwstrPath) != S_OK)
        cout << "ERROR";
    else
        cout << "Pfad: " << pwstrPath << endl;


hoffe ihr könnt mir nocheinmal weiterhelfen :)

Liebe Grüße,
Ombalat

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

22.05.2011, 14:55

Mal den Debugger angeworfen und über diese Stellen drübergesteppt?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

17

22.05.2011, 15:28

JA hatte ich ^^
Hab in fehler schon behoben, war eh simpel .. ich war nur zu blind dafür ^^

Jetzt stellt sich mir die frage, wie ich aus pwstrPath den Pfad rausbekomme ... Ich sehe ihn zwar im debugger neben der adresse stehen, weiß aber nicht, wie ich diesen jetzt "auslesen" kann
Das is ja n pointer auf nen wide_char, aber wie krieg ich den jetzt, weil mit einfachen chasten funktiert es nicht

Edit: Nach langem googeln habe ich jetzt eine lösung gefunden :)
Ich habe es jetzt so gelöst:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    PWSTR pwstrPath;
    if(SHGetKnownFolderPath(FOLDERID_RoamingAppData,0,NULL,&pwstrPath) != S_OK) //Frage den Pfad für den Roaming Ordner ab
        cout << "ERROR";
    else
        cout << "Roaming Ordner gefunden " << endl;

    char* c; //Variable zum speichern des Pfades
    int count = 0; //Größe des Pfades
    count = WideCharToMultiByte(CP_ACP, 0, pwstrPath, -1, 0, 0, NULL, NULL); //Liefert die Göse des Pfades zurück
    if(count > 0) 
    {
        c = new char[count + 1];
        WideCharToMultiByte(CP_ACP, 0, pwstrPath, count, c,  count + 1 , NULL, NULL); //Liest den Pfad in die Variable c ein
        c[count] = '\0'; //Ende des Chars

        cout << "Pfad: " << c << endl;
    }
    else
        cout << "Konnte die Größe des Pfades nicht ermitteln\n";

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »Ombalat« (22.05.2011, 19:02)


Werbeanzeige