Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Ressourcen unter Dev-c++

Diskussion: Ressourcen unter Dev-c++ im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi, also ich habe vor mit dev-c++ programme zu schreiben in denem im hintregrund musik läuft, die musik soll ...

Antwort
Alt 24.03.07, 12:59   #1 (permalink)
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard Ressourcen unter Dev-c++

Anzeige

Hi, also ich habe vor mit dev-c++ programme zu schreiben in denem im hintregrund musik läuft, die musik soll aber als ressourcen mitgelinkt werden. nur ich finde ums verrecken nicht wie man mit ressourcen unter dev-c++ umgeht geschweige denn wie man sie benutzt.

Wenn jemand weiß wie es mit ner anderen IDE funzt, bitte name + kleine anleitung schreiben.

Ich möchte letzendlich nur wissen wie ich ressourcen (musik,bilder, etc pp) mitlinken lassen kann und die im programm auch verwenden kann. (das abspielen bekomm ich noch alleine geregelt...


ich hoffe dazu weiss jetzt mal jemand was.


mfg smash

PS: zwecks keygens schreiben (im hintergrund soll nen modchip laufen) algos etc pp sind vorhanden...)

.smash ist offline   Mit Zitat antworten
Alt 24.03.07, 20:19   #2 (permalink)
01
 
Registriert seit: 16.05.06
01 Leistung: Facit NTK
Likes: 0
Standard

Genau weiß ich das nicht, denke dass du das außerhalb der IDE bzw. per angepasstem makefile machen musst. Vlt. ist die CodeBlocks IDE da besser?
01 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 25.03.07, 18:41   #3 (permalink)
 
Registriert seit: 25.03.07
FreeCastle Leistung: Facit NTK
Likes: 0
Standard

Ja also ich würde dir auch ganz stark von DevC++ abraten. Nimm lieber was anderes, ganz egal was. (VC Express 2005, Codeblocks, MingW-Studio,...)
Ich musste einmal so quasi gezwungenermaßen ein Projekt mit DevC++ abwickeln... nie wieder, das Ding ist sowas von verbuggt...
FreeCastle ist offline   Mit Zitat antworten
Alt 25.03.07, 18:59   #4 (permalink)
Themenstarter
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard

von mir aus nehme ich auch gerne eine andere IDE, mir eigentlich wurst, sie sollte das arbeiten mit ressourcen ermöglichen und genau dafür brauche ich auch eine anleitung.


mfg

PS: dev-c++ war halt das erste und das ist bis heute iegentlich so geblieben...
.smash ist offline   Mit Zitat antworten
Alt 25.03.07, 20:34   #5 (permalink)
 
Registriert seit: 25.03.07
FreeCastle Leistung: Facit NTK
Likes: 0
Standard

Du programmierst dann reine WinAPI nehme ich mal an, oder?
Weil dann solltest du mit dem VC 2005 Express gut bedient sein. KAnnst kostenlos von der MS HP runterladen. Soweit ich weiß kannst da auch ganz normal in nem Ressourcen-Editor deine ganzen Ressourcen verwalten. Geht zumindest in den Professional-Editions, aber ich denke dass das auch mit der Express Edition geht.
FreeCastle ist offline   Mit Zitat antworten
Alt 25.03.07, 22:59   #6 (permalink)
Themenstarter
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard

ahhhhhhhh, nach langem, abe rauch sehr langem googln hab ich es gefunden, nunja jetzt kann ich schonmal dateien mitlinken :>

nun, trotzdem danke für deine hilfe, ich habs mit mingw studio probiert und da habe ich den ressource editor gefunden, mit dem ich dann letzendlich gerafft habe wie es funktioniert, wobei es mit dev-c++ auch funzt (fehlerfrei und sogar kleienr als bei mingwstudion)

achja, was ich bei mingw studio nicht verstehe, ist wenn man nen stadart programm macht:

#include <stdio.h>

int main()
{
printf("hallo\n");
return 0;
}


das ergibt nur ne leere zeile wenn man das prog startet, naja egal unter dev-c++ funzt es auch einwandfrei, ich bin zufrieden.

danke nochmal!
.smash ist offline   Mit Zitat antworten
Alt 26.03.07, 09:24   #7 (permalink)
 
Registriert seit: 25.03.07
FreeCastle Leistung: Facit NTK
Likes: 0
Standard

Naja soweit ich weiß benutzen beide genau den selben Compiler unter der Haube (GCC Port). Sind wohl nur unterschiedliche Compilervoreinstellungen.

Warum dein Minimalprog ne leere Zeile ergibt, keine Ahnung. Hab MingW damals auch nur bisschen getestet, aber da hat das alles funktioniert. Btw nur mal so am Rande, wenn du C++ programmierst, solltest du auch die neuen Header nehmen, d.h. anstelle von #include <stdio.h"> => #include <cstdio>

Wie gesagt, ich kann dir nur nochmal von DevC++ abraten. Mal ganz davon abgesehen, dass das die Features (Syntaxhighlighting, Auto-Completion, etc...) sowieso fürn Arsch sind (kann jeder andere IDE Imho besser), ist das Ding auch total verbuggt.
Debuggen hat bei mir z.B. auch nie richtig funktioniert.
FreeCastle ist offline   Mit Zitat antworten
Alt 26.03.07, 17:35   #8 (permalink)
Themenstarter
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard

ach sorry, ich meine code::blocks, da hat das standart prog net gefunzt, bei mingw studio funzt alles einwandfrei (ist trotzdem nen bisschen größer, wobei mir das syntax highlighting besser gefällt und son paar optionen)

Hier, wo wir den Thread schonmal offen haben, wollte ich mal wissen wie ich jetzt die mitgelinkten resourcen verwenden kann, um genau zu sein zu entpacken.

Ich habe da auch einen Code geschrieben:

bla.rc
Code:
ID_MOD_02 CUSTOM "02.MOD"
resource.h
Code:
#define ID_MOD_02 1

main.c
Code:
#include <windows.h>
#include <conio.h>

#include "resource.h"

int ExtractReSrcFile();

int main()
{
    ExtractReSrcFile();

    //while(!kbhit());
    return 0;
}

int ExtractReSrcFile()
{
    HRSRC hSrcFile = FindResource(GetModuleHandle(0), MAKEINTRESOURCE(ID_MOD_02), "CUSTOM");
    if(hSrcFile != 0)
    {
        HGLOBAL hSrcFileLoad  = LoadResource(GetModuleHandle(0), hSrcFile);
        void*   pvSrcFileData = LockResource(hSrcFileLoad);
        size_t  stSrcFileSize = SizeofResource(GetModuleHandle(NULL), hSrcFile);
        HANDLE hReSrcFile    = CreateFile("C:\\lol.mod", GENERIC_WRITE, FILE_SHARE_READ,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
        WriteFile(hReSrcFile, pvSrcFileData, stSrcFileSize,0,0);
        CloseHandle(hReSrcFile);
    }
    return 0;
}
der fehler liegt meines wissens in der funktion

Code:
FindResource(GetModuleHandle(0), MAKEINTRESOURCE(ID_MOD_02), "CUSTOM");
weil, wenn ich aus dem

Code:
if(hSrcFile != 0)
ein
Code:
 if(hSrcFile == 0)
mache, versucht er die datei zu schreiben (wobei der inhalt fehlt, was wohl daran liegt, dass die ressource nicht gefunden wurde.

Mitgelinkt wird sie auf jeden Fall, weil die .exe file um die größe der resource wächst und mit ressourcehacker die file sichtbar und entpackbar ist.

Ich hoffe, Du, bzw jemand anderes, weiss wie ich das hinbekommen kann.


mfg .smash
.smash ist offline   Mit Zitat antworten
Alt 26.03.07, 18:24   #9 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Was sagt GetLastError? Wie ist die Ressource definiert?
Außedem kenne ich kein "CUSTOM" bei FindRessource (falls hier die WinAPI und kein Wrapper genutzt wird), sondern nur ein RT_RCDATA für "RawData" .
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 26.03.07, 18:37   #10 (permalink)
Themenstarter
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard

öhm, wie finde ich das raus mit getlasterror?
und wie muss ich das mit RT_RCDATA bzw "RawData" machen?

sorry,von winapi hab ich wie gesagt bis auf winsock sogut wie keinen blassen schimmer.

mfg
.smash ist offline   Mit Zitat antworten
Alt 26.03.07, 19:39   #11 (permalink)
 
Registriert seit: 25.03.07
FreeCastle Leistung: Facit NTK
Likes: 0
Standard

GetLastError gibt dir nen Wert zurück, der dir (manchmal) dabei helfen kann herauszufinden was genau schief ging. Guckst du einfach MSDN (könnte dir vielleicht nützlich sein):

http://msdn2.microsoft.com/en-us/library/ms680582.aspx

http://msdn2.microsoft.com/en-us/library/ms680746.aspx

Naja und zu dem FindResource, musst auch nur in MSDN schauen:

http://msdn2.microsoft.com/en-us/library/ms648042.aspx

Da ist auch ne Auflistung über Resource-Typen, d.h. du soltest dein "Custom" am Ende einfach mal durch RT_RCDATA ersetzen.
FreeCastle ist offline   Mit Zitat antworten
Alt 26.03.07, 20:38   #12 (permalink)
Themenstarter
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard

Sorry, da muss ich passen, ich habe auchnicht die Zeit WinApi zu lernen, ich brauche "nur" die Funktion, um mitgeklinkte Ressourcen zu entpacken.

wenn ich mein "Custom" in RT_RCDATA umändere, geht es leider tortzdem nicht
und wie ich getlasterror auf die schnelle da einbauen soll weis ich auchnicht.

Leute, ich bin schon seit mehrere Tagen dabei um zu suchen/auszuprobieren wie man Ressourcen mitlinkt (das hat schon 2 tage gedauert (dreck dev-c++) und die Ressourcen verwendet/auspackt (bis dato nicht geschafft),

Sorry das ich einfach so dreist Frage, aber langsam bin ich entnervt, aber kann mir vllcht Jemand ein einfaches Beispiel schreiben (mir .rc und ressource.h) wie man nun die mitgelinkten Ressourcen verwendet/entpackt?

Ich wäre sehr dankbar.


mfg .smash
.smash ist offline   Mit Zitat antworten
Alt 26.03.07, 22:24   #13 (permalink)
 
Registriert seit: 02.05.05
keksekekse Leistung: Facit NTK
Likes: 0
Standard

Bei mir funktioniert das:

Code:
void Print(int channel, char *format, ...)
{
  static char fn[] = "printx.txt";
  FILE *fp;

  fn[5] = (char)('0'+(channel%10));
  if (format == 0)
    { unlink(fn);
      return;
    }
  if ((fp = fopen(fn, "at")) == 0)
      return;
  vfprintf(fp, format, (char *)(&format+1));
  fclose(fp);
}

void UnlinkPrint(void)
{
  int i;

  for (i = 0; i < 10; i++)
      Print(i, 0);
}

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char *CmdLine, int nShow)
{
  HRSRC xx;
  int fehler;

  UnlinkPrint();
  
  xx = FindResource(0, MAKEINTRESOURCE(101), RT_DIALOG);
  fehler = GetLastError(); // nicht hilfreich, meldet auch bei Fehler 0
  Print(0, "xx %i fehler %i\n", xx, fehler);

  return 0;
}
keksekekse ist offline   Mit Zitat antworten
Alt 27.03.07, 03:48   #14 (permalink)
Themenstarter
 
Registriert seit: 14.03.07
.smash Leistung: Facit NTK
Likes: 0
Standard

So, mit deinem Prog bekomme ich immer den Fehler 1813.

Code:
Fehler 1813
Der angegebene Ressource-Typ wird in der Imagedatei nicht gefunden.
So, ich weiss ja nicht was der mit "in der Imagedatei" will wenn ich musik (chiptune) die ne .mod datei ist gelinkt habe... :/

woran das jetzt wieder liegt weis ich acuhnicht...


och menno ich will doch nur ein einfaches programm zum entpacken der gelinkten resourcen haben, mehr net...

mfg


//EDIT: So, jetzt gehts, man muss einfach in der .rc file die resource.h includen.... -_-"
.smash ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Ressourcen unter Dev-c++
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dialoge aus Ressourcen anzeigen Gabriel3 Hacks & Crackmes 8 08.08.07 23:29
Ressourcen-Schonenden Virenscanner homer1988 (In)security allgemein 11 03.02.07 18:46
"fremde" Ressourcen editieren Vb.net THRALL Code Kitchen 4 25.10.05 19:47
VB - Was verbraucht weniger Ressourcen? GhettoGhost Code Kitchen 4 20.10.05 20:30
vektorgrafik-ressourcen im web sprengmeister (Web-) Design und webbasierte Sprachen 1 20.09.03 18:47


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61