begin process at 2012 05 27 20:34:07
  Trouver un code source :
 
dans
 

44 commentaire(s) de Neo_Fr sur des sources sur cppfrance

Déposé sur Modifier rapidement son fichier host

"MODIFIER RAPIDEMENT SON FICHIER HOST", pour la rapidité on repassera.. :p

Des realloc? pour quoi faire?, les strlen on les met pas dans la boucle sinon ils sont rappeler a chaque itération et on lit pas un fichier octet par octet surtout en faisant des realloc a chaque octet, c'est pas optimiser du tout :\

J'avais fait une fonction semblable il y a quelque temps...

DWORD __stdcall BlockURL(LPSTR lpszURL) // ex: BlockURL("google.com");
{
    char szLoopBack[] = "127.0.0.1";
    char szHostPath[MAX_PATH+4];
    LPSTR lpData, lptr;
    HANDLE hFile;
    DWORD dwLen, bw;

    lptr = szHostPath + GetSystemDirectory(szHostPath, sizeof(szHostPath));
    lstrcpy(lptr, "\\drivers\\etc\\hosts");
    hFile = CreateFile(szHostPath, GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
    if(hFile == INVALID_HANDLE_VALUE) return 1;
    lpData = (LPSTR) HeapAlloc(GetProcessHeap(), 0, 4096);
    if(!lpData) { CloseHandle(hFile); return 1; }
    lptr = lpData; *((WORD*) lptr)++ = '\r\n';
    dwLen = sizeof(szLoopBack)-1;
    memcpy(lptr, szLoopBack, dwLen); lptr+=dwLen;
    *lptr++ = ' ';
    dwLen = strlen(lpszURL);
    memcpy(lptr, lpszURL, dwLen); lptr+=dwLen;
    SetFilePointer(hFile, 0, 0, FILE_END);
    WriteFile(hFile, lpData, (lptr-lpData), &bw, 0);
    HeapFree(GetProcessHeap(), 0, lpData);
    CloseHandle(hFile);
    return 0;
}
Posté le : 12/10/2010 14:47:13

Déposé sur Templates c/c++ pour vs 2010

Que faut-il changer pour compiler sous 32bits?
Posté le : 26/05/2010 13:31:31

Déposé sur Templates c/c++ pour vs 2010

Merci !
Posté le : 26/05/2010 12:57:45

Déposé sur Templates c/c++ pour vs 2008

Salut Brunews,
Je voulais savoir si tu comptais faire une version pour VS2010?
Posté le : 25/05/2010 21:36:58

Déposé sur Calendrier (win64)

Ca c'est de l'optimisation !, pas un seul strcpy, tout est copier par passe de 4 octets, de l'asm et des goto a gogo, bon d'accord certain trouveront ça crade, illisible et complètement inutile d'empêche que jsuis fan =)
Ta de la chance de pouvoir t'amuser comme ca, maintenant je suis dans une école d'info et il y a toute une 'norme' à respecter pour coder et c'est super dur quand on a apprit à coder en lisant tes sources. :p
Posté le : 15/02/2010 21:31:06

Déposé sur Inserer une animation flash (win32-devcpp)

Salut,
Je voit que pour changer d'animation tu detruit la fenetre, il y aurais pas un moyen plus 'propre'?
Ca fait un moment que j'essaye de faire la meme chose avec AtlAxCreateWindow, mais je n'ai jamais reussi a recuperer un pointeur sur l'interface IShockwaveFlash :\
Posté le : 23/02/2009 13:13:43

Déposé sur [win32] agenda / organiseur (gestion du contrôle "calendrier")

Salut,
Que vient faire le #include "define.h" ici?
On ne met jamais de fonction dans un header, de plus il n'a ici aucune utilité, autant mettre tout le code dans main.c..
Et ta fonction split n'est pas tres optimisé, mais bon au vu des nombreux fprintf, fputs & co, je doute que ce soit ta priorité :p

Neo_Fr
Posté le : 06/11/2008 18:34:14

Déposé sur [c / win32] ratlib - crypter facilement en rc4, aes et tea

Quel algo essaye-tu d'ajouter?
J'ai fait une nouvelle version avec plus d'algos mais il me reste quelques bugs a corriger avant de poster..

Neo_Fr
Posté le : 19/10/2008 01:52:44

Déposé sur Binder d'exe de débutant

Tant qua inclure windows.h autant ne pas le faire pour rien ;)

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

DWORD __stdcall FileConcat(LPSTR lpszDstFile, LPSTR lpszSrcFile)
{
    HANDLE hSrcFile, hDstFile;
    DWORD dwRet = 1, dwFileSize, br, bw;
    BYTE* lpBuffer;
    hSrcFile = CreateFile(lpszSrcFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
    if(hSrcFile == INVALID_HANDLE_VALUE) return 1;
    hDstFile = CreateFile(lpszDstFile, GENERIC_WRITE, 0, 0, OPEN_ALWAYS, 0, 0);
    if(hDstFile == INVALID_HANDLE_VALUE) goto _Error;
    lpBuffer = (BYTE*) HeapAlloc(GetProcessHeap(), HEAP_NO_SERIALIZE, 0x100000); // 1mo
    if(!lpBuffer) goto _Error;
    dwFileSize = GetFileSize(hDstFile, 0);
    SetFilePointer(hDstFile, dwFileSize, 0, FILE_BEGIN);
    while(1)
    {
        if(!ReadFile(hSrcFile, lpBuffer, 0x100000, &br, 0)) goto _Error;
        if(!br) break;
        if(!WriteFile(hDstFile, lpBuffer, br, &bw, 0)) goto _Error;
    }
    dwRet = 0;
   _Error:
    if(lpBuffer) HeapFree(GetProcessHeap(), HEAP_NO_SERIALIZE, lpBuffer);
    if(hDstFile) CloseHandle(hDstFile);
    if(hSrcFile) CloseHandle(hSrcFile);
    return dwRet;
}

/*
Voici comment se presente le fichier:
|----"self-extractor"----|---donnes sur la tailles des exe --|--------EXE1------|-------EXE2------|
*/
DWORD __stdcall FormatFile(LPSTR lpszFilePath, DWORD dwFile1Size, DWORD dwFile2Size)
{
    HANDLE hFile;
    DWORD bw;
    FileConcat(lpszFilePath, "header.bin");
    hFile = CreateFile(lpszFilePath, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
    if(hFile == INVALID_HANDLE_VALUE) return 1;
    WriteFile(hFile, &dwFile1Size, sizeof(DWORD), &bw, 0);
    WriteFile(hFile, &dwFile2Size, sizeof(DWORD), &bw, 0);
    CloseHandle(hFile);
    return 0;
}

DWORD __stdcall GetSizeOfFile(LPSTR lpszFile)
{
    HANDLE hFile;
    DWORD dwFileSize;
    hFile = CreateFile(lpszFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
    if(hFile == INVALID_HANDLE_VALUE) return 0;
    dwFileSize = GetFileSize(hFile, 0);
    CloseHandle(hFile);
    return dwFileSize;
}

int main(int argc, LPSTR* argv)
{
    HANDLE hFile;
    LPSTR lpszFile1, *lpszFile2, *lpszBindedFile;
    if(argc != 4)
    {
        printf("Syntaxe: binded_name.exe file1.exe file2.exe\n");
        system("PAUSE");
        return 0;
    }
    lpszFile1 = argv[2];
    lpszFile2 = argv[3];
    lpszBindedFile = argv[1];
    FileConcat("tmp.exe", lpszFile1);
    FileConcat("tmp.exe", lpszFile2);
    FormatFile(lpszBindedFile, GetSizeOfFile(lpszFile1), GetSizeOfFile(lpszFile2));
    system("PAUSE");
    return 0;
}

Neo_Fr
Posté le : 25/05/2008 23:41:39

Déposé sur Binder d'exe de débutant

On utilise pas calloc pour 1 octet ni meme pour 256(surtout que quelque lignes plus bas tu fait pointer le pointeur sur autre chose, puis quand tu copie un fichier ne le copie pas octet par octet c'est la cata niveau perfs creer plutot un buffer et tu copie par passe de 1 mo.

Neo_Fr
Posté le : 25/05/2008 23:07:17

1 2 3 4 5


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,125 sec (4)

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