begin process at 2012 05 30 02:07:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Multimédia

 > 

Problème avec fichier manifest


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec fichier manifest

mercredi 22 juin 2011 à 17:27:02 | Problème avec fichier manifest

Sceyllia

Bonjour à tous,

J'aurais besoin de l'avis de connaisseurs en c/c++ pour m'éclairer sur le soucis que j'ai depuis quelques
semaines concernant ce morceau de code qui m'agace prodigieusement.

Voilà, quand je compile ce code sans inclure le fichier "manifest" tout va pour le mieux dans le meilleure
des mondes, mais si je l'inclus dans l'exécutable j'ai le droit a un super crash du programme.

Est-ce que quelqu'un pourrait m'éclairer sur ce phénomène ?

Étant super débutant en programmation, j'espère que je ne choquerais pas les puristes par
la mauvaise présentation de ce code.

Une remarque toutefois : je poste ce message car je n'arrive vraiment pas à trouver de solution et ce
malgré de nombreuses recherches sur la toile, donc si une âme charitable voudrait bien me mettre sur la voie
ça serait super sympa.

Merci d'avance.
Code C/C++ :


#include <windows.h>
#include <Winioctl.h>
#include <stdio.h>

char g_strdrive[2];

bool diskDoor(char drive, bool eject)
{
char Drive[MAX_PATH];
HANDLE hDrive = INVALID_HANDLE_VALUE;

BOOL bRetVal = TRUE;
DWORD dwDummy;

sprintf(Drive,"\\\\.\\%c:", drive );

if(hDrive == INVALID_HANDLE_VALUE)

{

hDrive = CreateFile(Drive, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
}


{
if(eject)

{
bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_EJECT_MEDIA, NULL, 0, NULL, 0, &dwDummy, NULL);
}

else

{
bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_LOAD_MEDIA, NULL, 0, NULL, 0, &dwDummy, NULL);
}

return 0;

}
}
enum { ID_LABEL = 1,ID_BUTTON0,ID_BUTTON1,ID_CB0,ID_BUTTON2};


LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);

HWND button0, button1, button2, cb;
HINSTANCE hinst, g_hInst;

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hWnd;
MSG msg;
WNDCLASS wc;

hinst = hinstance;

wc.style = 0;
wc.lpfnWndProc = MainWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hinstance;
wc.hIcon = LoadIcon(hinstance,MAKEINTRESOURCE(0));
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
wc.lpszMenuName = NULL;
wc.lpszClassName = "Main";

if(!RegisterClass(&wc)) return FALSE;

hWnd = CreateWindow("Main","Ouverture/Fermeture CD",(WS_OVERLAPPED|WS_SYSMENU), 550, 400, 510, 180, NULL, NULL, hinstance, NULL);

if (!hWnd) return FALSE;

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)

{
switch (msg)
{

case WM_CREATE:
{
cb = CreateWindow("COMBOBOX","", WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 90,35,320,150, hWnd,(HMENU)ID_CB0,g_hInst,0);
SendMessage(cb, CB_ADDSTRING, (WPARAM) 1, (LPARAM) (long) "G:");
SendMessage(cb, CB_ADDSTRING, (WPARAM) 1, (LPARAM) (long) "H:");
SendMessage(cb, CB_ADDSTRING, (WPARAM) 1, (LPARAM) (long) "I:");
CreateWindow("Button","Charger",BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE ,200,90,80,26,hWnd,(HMENU)ID_BUTTON0,g_hInst,0);
CreateWindow("Button","Éjecter",BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE ,80,90,80,26,hWnd,(HMENU)ID_BUTTON1,g_hInst,0);
CreateWindow("Button","Quitter",BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE ,340,90,80,26,hWnd,(HMENU)ID_BUTTON2,g_hInst,0);

case WM_INITDIALOG:
{
DlgDirListComboBox(hWnd,0,ID_CB0,0,CB_ADDSTRING);
SendDlgItemMessage(hWnd,ID_CB0,LB_SETCURSEL,0,0);
return TRUE;
}
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_BUTTON1:
{
DlgDirSelectComboBoxEx(hWnd,g_strdrive,2,ID_CB0);
if(!diskDoor(g_strdrive[0],TRUE))
return TRUE;
}
case ID_BUTTON0:
DlgDirSelectComboBoxEx(hWnd,g_strdrive,2,ID_CB0);
if(!diskDoor(g_strdrive[0],FALSE))

return TRUE;

case ID_CB0:
return 0;

case ID_BUTTON2:{PostQuitMessage(0);
break;
}
}
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}
}


mercredi 6 juillet 2011 à 02:46:23 | Re : Problème avec fichier manifest

racpp

Administrateur CodeS-SourceS
Salut,
Mets le contenu de ton fichier manifest pour qu'on puisse tester et essayer de voir ce qui ne va pas.
jeudi 7 juillet 2011 à 14:57:46 | Re : Problème avec fichier manifest

Sceyllia

Salut racpp,

Merci pour ta réponse, c'est sympa.

Le ficher manifest que j'inclus dans l'exécutable est le suivant :

Code XML :


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="Company.Product.Name"
type="win32"
/>
<description></description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

Dès que je compile et exécute il n'y a rien a faire cela crash systématiquement

Merci encore pour l'aide.


Cette discussion est classée dans : id, hwnd, ws, return, wc


Répondre à ce message

Sujets en rapport avec ce message

Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation Où passent mes tabulations... [ par Nebula ] Bonjour, En utilisant des richedits dans une fenêtre créée avec CreateWindowEx et dont les messages sont traités avec IsDialogMessage, je me suis ape Application MDI [ par LordBob ] Bonjour a tous,voila j'essaie de créé ma première application MDI, mais j'ai beaucoup de mal, surtout que je n'ai pas trouvé de tutorial sur le net, e Problème de linker dans programme de base. [ par vith17 ] Bonjour,J'ai tapé le code suivant sous Dev-C++. Lorsque je lance la compilation, il me revoie l'erreur suivante :    [Linker error] undefined referenc Fenêtre CHILD [ par yserver ] BonjourUne petite question. J'ai une fenêtre avec des contrôles definie à l'interieur comme suit:hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLA Problème de barre de status dans une application MDI [ par julien_boss ] Bonjour à tous :en réalité, je ne sais pas si mon problème est du à une barre de status, mais étant donné qu'il est apparu après la création de celle- Fenetre windows en cpp [ par FeelCode ] bon j'essaye de cree une fenetre windows tout simple mai j'ai un probleme de convertion voir le code plus bas.//************************************** api window [ par ropars ] Bonjour<br Lancement d'un programme via un service [ par laetitiavincent ] Bonjour tout le mondeVoilà mon problème : j'ai fait un petit prog qui, lorsqu'il y a fermeture de session ou de windows, il me lancer une fonction  to


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,714 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales