ola
veamos,estaba leyendo un poco, e intente probar algo y me puse a programar un joiner,pero el problema esque no se si lo llevo bien o en que falla (uso dev-c++ / Windows):
Joiner.cpp
#include <stdio.h>
#include <windows.h>
#include <iostream.h>
int main()
{
char *ruta = "C:\\TEMP";
cout << " Introduce el primer archivo con su rura \n "
cin >> ruta2
cout << " introduce el segundo archivo con su ruta \n"
cin >> ruta3
STARTUPINFO si;
PROCESS_INFORMATION pi;
HRSRC recurso;
HGLOBAL handle;
HANDLE archivo;
UINT buffer;
DWORD bytes;
CreateDirectory(ruta, NULL);
recurso = FindResource(NULL, "#1", "Joiner"); //b
handle = LoadResource(NULL, recurso);
buffer = SetHandleCount((UINT)handle);
bytes = SizeofResource(NULL, recurso);
archivo = CreateFile(ruta2, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
WriteFile(archivo, (LPCVOID)buffer, bytes, &bytes, NULL);
CloseHandle(archivo);
recurso = FindResource(NULL, "#2", "Joiner");
handle = LoadResource(NULL, recurso);
buffer = SetHandleCount((UINT)handle);
bytes = SizeofResource(NULL, recurso);
archivo = CreateFile(ruta3, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
WriteFile(archivo, (LPCVOID)buffer, bytes, &bytes, NULL);
CloseHandle(archivo);
si.cb = sizeof(si);
si.dwFlags = STARTF_USESTDHANDLES;
si.lpReserved = NULL;
si.cbReserved2 = 0;
si.lpReserved2 = NULL;
CreateProcess(NULL,ruta2,NULL,NULL,true,0,NULL,NULL,&si,&pi);
WaitForSingleObject(pi.hProcess, INFINITE);
DeleteFile(ruta2);
CreateProcess(NULL,ruta3,NULL,NULL,true,0,NULL,NULL,&si,&pi);
WaitForSingleObject(pi.hProcess, INFINITE);
DeleteFile(ruta3);
RemoveDirectory(ruta);
ExitProcess(0);
return 1;
}
Joiner_private.h
#ifndef JOINER_PRIVATE_H
#define JOINER_PRIVATE_H
/* VERSION DEFINITIONS */
#define VER_STRING "0.1.0.1"
#define VER_MAJOR 0
#define VER_MINOR 1
#define VER_RELEASE 0
#define VER_BUILD 1
#define COMPANY_NAME ""
#define FILE_VERSION ""
#define FILE_DESCRIPTION "Joiner By SaOk"
#define INTERNAL_NAME ""
#define LEGAL_COPYRIGHT ""
#define LEGAL_TRADEMARKS ""
#define ORIGINAL_FILENAME ""
#define PRODUCT_NAME ""
#define PRODUCT_VERSION ""
#endif /*JOINER_PRIVATE_H*/
Joiner_private.rc
#include <windows.h>
#include "Joiner_private.rc"
A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "Joiner.ico"
Weno aber quien me comenta algo de lo que llevo,fallos,consejos....
(otro tema que ya tratare mas adelante,ya qye nadie m lo explico bien,es los objetos en c++)
saludos[sh]