Bonjour à tous!
Voila j'essaie de sauvegarder un fichier txt bloc note sans passer par fichier enregister sous ect ..., mais j'ai quelque soucies.
En fait tout à l'air de bien se dérouler quand je sauvegarde. Sous un nouveau nom de fichier il me créé bien mon fichier mais malheureusement il est vide. Idem pour fichier existant!
Cela ne viendrai t il pas de GetDlgItemText
J ai essayer aussi avec SetWindowText.
Quelqu'un peut t'il m'éclairer?
Voila le Code de la fonction SauverSous:
OPENFILENAME SauverFichierSous()
{
HANDLE Fichier;
HWND hNote = FindWindow("NotePad", 0);
HWND hEdit = GetDlgItem(hNote, 0x0000000F);
OPENFILENAME ofn;
char NomDuFichier[MAX_PATH] = "";
char NomFichier[MAX_PATH] = "";
SECURITY_ATTRIBUTES Secu;
Secu.nLength = sizeof(SECURITY_ATTRIBUTES);
Secu.lpSecurityDescriptor = NULL;
Secu.bInheritHandle = NULL;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hNote;
ofn.lpstrFilter = "Fichier Texte (*.txt)\0*.txt\0 Fichier C (*.c)\0*.c\0 Fichier C++ (*.cpp)\0*.cpp\0 Fichier Header (*.h)\0*.h\0 Tous les fichiers (*.*)\0*.*\0\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NomFichier;
ofn.nMaxFileTitle = MAX_PATH;
ofn.lpstrFile = NomDuFichier;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
if(GetSaveFileName(&ofn))
{
Fichier = CreateFile(NomFichier,GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,&Secu, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
char TextBuffer[65000];
if(Fichier != INVALID_HANDLE_VALUE)
{
DWORD Read;
int TailleBuffer = SendDlgItemMessage(hEdit,0,WM_GETTEXTLENGTH ,0,0) + 1;
// SetWindowText(hEdit,TextBuffer);
GetDlgItemText(hEdit,0,TextBuffer,TailleBuffer);
WriteFile(Fichier,TextBuffer,TailleBuffer,&Read,NULL);
SetWindowText(hNote,"Document Sauvegardé");
}
CloseHandle(Fichier);
}
return ofn;
}
Merci d'avance ;)