|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Eternal Idol
Páginas: 1 ... 177 178 [179] 180 181 ... 205
4451
« en: Martes 27 de Diciembre de 2005, 18:10 »
voy a por msn
El Path del handle estaba mal ya lo cambie , pero me sigue sin desmontar .
Ahora no me da error del handle , pero tampoco desmonta .
El messagebox ya se que tiene 4 parametros , pero como asi no me sa error y me tira el mensaje pues pa las pruebas , mas rapido.
ahora vuelto con msn El parametro para devolver el tamaño tambien esta mal, estas pasando un valor indefinido, tendrias que pasar el puntero a una variable de tipo DWORD. DWORD lpBytesReturned = 0; DeviceIoControl(hFile, FSCTL_DISMOUNT_VOLUME,NULL,0,NULL,0,&lpBytesReturned,NULL);
4452
« en: Martes 27 de Diciembre de 2005, 18:01 »
no tengo msn No me mola , pero si hay que instalarlo se instala. Y ... es que por aca terminariamos con 2000 mensajes. Ya vi tambien que el nombre de la unidad esta mal puesto deberia ser asi: "\\\\.\\E:" notese que esto es por C la cadena seria \\.\E: Y la funcion MessageBox tiene 4 argumentos no 1.
4453
« en: Martes 27 de Diciembre de 2005, 17:57 »
Asi nos vamos a volver locos ... ¿Tenes msn?
Desde muy lejos segun la MSDN veo que el problema puede estar en que no abris el handle con FILE_SHARE_WRITE, solo lo haces con FILE_SHARE_READ.
"The application must also specify the FILE_SHARE_READ and FILE_SHARE_WRITE flags in the dwShareMode parameter of CreateFile."
4454
« en: Martes 27 de Diciembre de 2005, 17:51 »
joder tio ,a lo mejor te parece que quiero que me lo hagas , pero de verdad , que estoy hecho la picha un lio . Todo lo que te estoy preguntando es para el mismo programa, y es ke no me entero de na .
haber habro un handle a un fichero dentro de una particion ( Que sera la que utilizare despues no ? )
depues llamo a la funcion deviceiocontrol y que parametros tendria que pasarle ?
y despues que ? No, no me parece que quieras que te lo haga, lo que si me parece es que no estas capacitado ( hoy en dia) para hacerlo. El handle no tiene que ser al fichero sino directo a la particion o disco, o lo que sea que quieras que reciba el codigo de control. Los parametros de la funcion van a ser el handle anteriormente abierto, el codigo de control en cuestion (que no lo se, tiene que estar si o si en el codigo que tenes, el segundo parametro en la llamada a la funcion y debe ser una constante), una estructura relacionada con el codigo, el tamaño de la misma, una estructura de respuesta, su tamaño, un puntero a un DWORD para el tamaño de bytes de la respuesta y una estructura de tipo OVERLAPPED o mejor 0 por ahora. Te aclaro que yo no conozco el codigo de control en cuestion, hay muchisimos y para diferentes cosas.
4455
« en: Martes 27 de Diciembre de 2005, 17:40 »
dices que si se podria hacer pero con un codigo de control ( Que me imagino sera un funcion ) .
Bueno no se , Tengo un codigo fuente de un programa que me pone las particiones en modo de lectura o escritura o como quiera, pero no se implementar el codigo en mi programa. Mas que una funcion es un identificador a una funcion de IO (Input/Output). Pone el codigo si queres, pero si lo tenes no se cual es el problema, el codigo tiene que ser mas o meno asi: 1. Abrir handle a particion (CreateFileA por ejemplo) 2. Inicializacion de la estructura de input para el codigo de control 3. Envio del codigo de control (DeviceIoControl)
4456
« en: Martes 27 de Diciembre de 2005, 17:31 »
DeviceIoControl sirve para mandar un codigo de control a un dispositivo en particular. Digamos que es la puerta de comunicacion entre modo usuario y modo kernel.
Para que pudieras hace eso tendria que existir un codigo de control que modificara los atributos de escritura/lectura de una particion. Primero tendrias que abrir un handle a la particion y despues enviar el codigo de control.
¿Encontraste alguno codigo de control que haga eso?
4457
« en: Lunes 26 de Diciembre de 2005, 22:42 »
Ahhhhhhhhhhhhh . Bueno muchas gracias... De nada, tenes que pasar un puntero a una estructura del tipo CLIENTCREATESTRUCT y no NULL (0).
4458
« en: Lunes 26 de Diciembre de 2005, 10:31 »
El problema esta en el ultimo parametro de la funcion CreateWindowEx que la MSDN describe de esta manera: Pointer to a value to be passed to the window through the CREATESTRUCT structure passed in the lpParam parameter the WM_CREATE message. If an application calls CreateWindow to create a MDI client window, lpParam must point to a CLIENTCREATESTRUCT structure.
4459
« en: Sábado 24 de Diciembre de 2005, 13:01 »
Aca tenes un codigo muy simple que hace casi todo lo que queres, solo tenes que pasarle el nombre de la unida ("C:\\", "D:\\", etc): void DecirInformacion(char *Unidad) { char name[256]; char system[256]; DWORD inutil; ZeroMemory(name, 256); ZeroMemory(system, 256); GetVolumeInformation(Unidad, name, 256, 0, &inutil, &inutil, system, 256); ULARGE_INTEGER TotalSize; GetDiskFreeSpaceEx(Unidad, 0, &TotalSize, 0); printf("Volumen %s Nombre: %s FileSytem: %s Total de MB %d \r\n", Unidad, name, system, TotalSize.QuadPart / 1024 / 1024); }
4460
« en: Sábado 24 de Diciembre de 2005, 12:38 »
Ese tamaño es especialmente grande cuando compilas en debug ...
4461
« en: Viernes 23 de Diciembre de 2005, 09:59 »
4462
« en: Viernes 23 de Diciembre de 2005, 09:56 »
4463
« en: Jueves 22 de Diciembre de 2005, 20:14 »
Eternal Idol es un disco de Black Sabbath en cuya tapa hay una estatua homonima de Auguste Rodin (la pueden ver en mi avatar)
4464
« en: Miércoles 21 de Diciembre de 2005, 20:13 »
4465
« en: Martes 20 de Diciembre de 2005, 19:36 »
Estoy intentando trabajar con el tiempo del sistema y al solicitarlo con la función gettime() me dice q no la reconoce. ¿Esta tampoco es una estandar de C++? Yo se q en C++ la función gettime() devuelve un registro con los campos: segundos, minutos, horas, decimas de segundo. ¿Que devuelve en Visual C++? (sigo con el cacao entre C++ y Visual)
Gracias. Y perdonad x ser pesao  No, gettime no es standard ni de C ni de C++. Te repito: todo ( TODO) lo que sea standard de estos lenguajes te compilara con VC++. En Windows podes usar GetLocalTime de esta manera: SYSTEMTIME ahora; GetLocalTime(&ahora); //dentro de la ESTRUCTURA ahora tenemos entros otros, estos campos: //WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds;
4466
« en: Sábado 17 de Diciembre de 2005, 22:18 »
0x111 son dos bytes, si lo que queres es inicializar los 3 bytes a 1 podes hacer esto:
4467
« en: Sábado 17 de Diciembre de 2005, 17:10 »
¿Pero entonces existe alguna instrucción que realice lo mismo que gotoxy() para Visual C++? No, no existe. La podrias emular con la API de Windows pero realmente es una funcion ARCAICA y OBSOLETA.
4468
« en: Sábado 17 de Diciembre de 2005, 16:51 »
No importa, ya se como es. Es que me estaba fiando de un trozo de código que me habia dejado un colega y me estaba liando (los registros se definen igual en los dos). Lo que yo pedía era una estructura de datos, perdón por no quedarlo claro. De todos modos, ya que ha salido el tema de las extensiones, me gustaría saber como utilizar instrucciones de C++ tales como gotoxy() o cout() en visual C++. Muchas gracias de tos modos. Un registro es un registro del microprocesador y una estructura de datos es eso, una estructura y si, se define exactamente igual porque como te dije antes VC++ es un compilador STANDARD de C y C++. gotoxy es una funcion no standard y VC++ no la soporta. cout es un objeto de tipo ostream standard de C++. Para usar cout tenes que incluir siempre iostream de esta manera: #include <iostream>
Y despues lo podes usar directamente asi: std::cout << "prueba";
O podes usar el espacio de nombres std (una sola vez se hace) para incluirlo y no necesitar poner std:: previamente: using namespace std; .... cout << "prueba";
4469
« en: Sábado 17 de Diciembre de 2005, 15:15 »
Me refiero a definirlo, es decir, el tipo (registro) y sus campos(con sus respectivos tipos tambien). Donde puedo conseguir esas extensiones? Que son librerias o es necesario instalarlas? ¿Registro==Estructura? Si lo pones como lo hiciste en otro compilador tal vez te podamos ayudar. Las extensiones son la MFC y la API de Windows que viene declarada pero no las necesitas para nada.
4470
« en: Sábado 17 de Diciembre de 2005, 14:22 »
Visual C++ es un compilador que soporta el standard C y el de C++ perfectamente. No se a que te referis con que varien las instrucciones, VC++ tiene extensiones pero todo lo que puedas hacer con C/C++ standard lo podes hacer con VC++.
¿Que queres decir con declarar un registro? ¿Hablas de bases de datos?
4471
« en: Viernes 16 de Diciembre de 2005, 22:29 »
Aunque soy ateo y no lo festejo religiosamente les deso felicidad a todos y brindo por que seamos cada dia mejores
4472
« en: Viernes 16 de Diciembre de 2005, 09:44 »
¿Soy el único que usa el tercer sistema?
int funcion () { instrucciones }
Y, por supuesto, coloreado...
Silverfox No sos el unico, te lo aseguro, la mayoria de los que aprendieron antes Java que C/C++ lo usan
4473
« en: Viernes 16 de Diciembre de 2005, 07:37 »
Juaz, a eso le pondria de titulo una cancion de Led Zeppelin: Communication Breakdown
4474
« en: Jueves 15 de Diciembre de 2005, 08:48 »
De nadas, me alegro de que te haya servido
4475
« en: Miércoles 14 de Diciembre de 2005, 23:53 »
Aca tenes un tutorial muy basico sobre cadenas hecho por un servidor: http://www.c0d3rz.com.ar/foro/viewtopic.php?t=37En tu caso lo que tenes que haces es usar la funcion strcmp o strcmpi/stricmp si las tenes disponibles de esta manera: if (!strcmpi(argv[1], "c:\\temp")) { printf("Correcto"); getch(); }
PD. No te olvides de comprobar argc para saber la cantidad de parametros y obra en consecuencia.
Páginas: 1 ... 177 178 [179] 180 181 ... 205
|
|
|