• Viernes 3 de Mayo de 2024, 04:06

Mostrar Mensajes

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.


Temas - diego.martinez

Páginas: 1 2 [3] 4
51
Windows / rs232 y el raton
« en: Martes 7 de Octubre de 2008, 16:40 »
Buenas:

Tengo un problema curioso. Dispongo de un aparato que emite tramas a traves de un puerto de rs232. La cosa es que si al iniciar windows, el dispositivo emite alguna trama, el ratón se vuelve loco y el puerto de comunicaciones se queda bloqueado , como si windows hubiera decidido que este puerto tiene conectado un ratón rs232.

Como se puede evitar que windows interprete el puerto como una interfaz humana?

gracias

52
C/C++ / Liberar Memoria Localizada En Una Dll
« en: Viernes 23 de Mayo de 2008, 14:36 »
Buenas:

Esta es la pregunta, si localizo memoria en una funcion de un procedimiento de una dll, y le paso el puntero a la aplicacion que esta usando esa instancia de dll, por que no puedo liberarla desde el programa anfitrion? es problema de los contextos?


gracias

53
C/C++ / Linkar Templates
« en: Miércoles 30 de Abril de 2008, 10:48 »
Buenas:

Recientemente me he encontrado con un problema al usar plantillas.

es un codigo de prueba:

Código: Text
  1.  
  2. //------------------------------------------------------ Main.cpp
  3. #include <windows.h>
  4. #include <stdio.h>
  5. #include "templatea.h"
  6.  
  7. int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR lp,int nShowCmd)
  8. {
  9.  
  10.  A < C > Prueba;
  11.  
  12.   char s[100];
  13.  
  14.   sprintf(s,"Valor %d",Prueba.Get());
  15.   MessageBox(0,s,0,0);
  16.   return 0;
  17. }
  18.  
  19.  

Código: Text
  1.  
  2. //------------------------------------ TemplateA.h
  3. #include "templateb.h"
  4.  
  5. template <class T>
  6. class A
  7. {
  8. public:
  9.   T data;
  10.   int Get();
  11. };
  12.  
  13.  



Código: Text
  1.  
  2. //------------------------------------ TemplateA.cpp
  3. #include "templatea.h"
  4.  
  5. template <class T> int A<T>::Get() { return data.Get();}
  6.  
  7.  

Me da problemas al Linkar:
 main.obj : error LNK2019: unresolved external symbol "public: int __thiscall A<class C>::Get(void)" (?Get@?$A@VC@@@@QAEHXZ) referenced in function _WinMain@16
Debug/TemplatePru.cpp.exe : fatal error LNK1120: 1 unresolved externals


he leido que hay que usar export en estos casos, pero si lo pongo el VS2003 me da error de sintaxis.

que puedo hacer para poder poner el codigo en los cpp?

Muchas Gracias por anticipado.

54
C/C++ / Problema Con Declaración
« en: Lunes 21 de Abril de 2008, 12:06 »
Buenas:

Estoy intentando crear una aplicación que maneje microcontroladores, para ello estoy haciendo una interfaz para las direcciones de los registros.
Tengo unos arrays definidos asi:
Código: Text
  1.  
  2.  
  3.  //----------------------------------------------------------------- TACTL
  4.  
  5. .... // codigo identico a TB_CTL con diferentes direcciones
  6.  
  7.  //----------------------------------------------------------------- TB_CTL
  8.  unsigned short volatile * const TB_CTL     [] =
  9.  {
  10.           #if __MSP430_TB &#62;= 1
  11.                   &TBCCTL0,
  12.           #endif
  13.           #if __MSP430_TB &#62;= 2
  14.                   &TBCCTL1,
  15.           #endif
  16.           #if __MSP430_TB &#62;= 3
  17.                   &TBCCTL2,
  18.           #endif
  19.           #if __MSP430_TB &#62;= 4
  20.                   &TBCCTL3,
  21.           #endif
  22.           #if __MSP430_TB &#62;= 5
  23.                   &TBCCTL4,
  24.           #endif
  25.           #if __MSP430_TB &#62;= 6
  26.                   &TBCCTL5,
  27.           #endif
  28.           #if __MSP430_TB &#62;= 7
  29.                   &TBCCTL6
  30.           #endif
  31.  };
  32.  
  33.  
  34. //----------------------------------------------------------------- MAIN REGISTERS
  35.   unsigned short volatile * const MasterReg     []= { &TACTL,&TBCTL };
  36.  
  37. //----------------------------------------------------------------- MODULE REGISTERS
  38.   unsigned short volatile * const * TimerReg [2][2] = {  {TA_CCR,TA_CTL},{TB_CCR,TB_CTL} }; //&#60;&#60;----- PROBLEMA AQUI!
  39.  
  40.  
  41.  
  42.  

los arrays son direcciones de registros mapeados en memoria, asi que las direcciones son constantes, pero contienen datos Volatiles (que pueden cambiar por el hardware del microcontrolador)

La cosa funciona , pero la idea era crearlos constantes para que al optimizarlo, el acceso a estos registros quede lo mas escueto posible (a ser posible una instrucción).

El problema surge cuando intentamos dejarlo fijado en el .H que por supuesto nos da que "TimerReg is already defined" pero si lo ponemos en el cpp no nos lo optimiza.

La pregunta es:

¿por que no salta el "already defined" con los demas arrays?
(suponemos que es por que hace la sustitucion correctamente, pero entonces no saltaria en el TimeReg)

¿como podemos forzar que lo optimice sustituyendo las direcciones constantes?

estimo que el problema puede ser de la propia sintaxis de la declaración del array bidimensional TimerReg , que tiene muchos punteros.



Muchas gracias por anticipado.

55
C/C++ / Escalabilidad En Servidor Tcpip
« en: Lunes 3 de Marzo de 2008, 09:03 »
Buenas:

Os cuento, hasta ahora cuando hago un servidor tcp-ip pongo en un hilo el Bind y el Listen.

Cuando entra una conexión, creo otro hilo para que gestione la lectura del Recv.

Asi pues si van entrando conexiones se van creando hilos para gestionar todas las recepciones.

La cosa es que mirando en Internet lei que esta opción tenia un problema de escalabilidad (a medida que entran conexiones los recursos se acumulan), sin embargo no se me ocurre como se podria hacer de otra forma.

Hay alguna idea para conseguir esta escalabilidad? o solo es cuestion de recursos de maquina?

56
C/C++ / Tutorial Para Richedit En Win32 Api
« en: Viernes 21 de Diciembre de 2007, 10:55 »
Buenas:

alguien sabe de algun tutorial para usar RichEdit mediante la WIN32 API?

gracias

57
Visual C++ / Iterador Para Std::map
« en: Jueves 29 de Noviembre de 2007, 09:24 »
Buenas:

Tengo un std::map con información sobre unos dispositivos que van dandose de alta a tiempos aleatorios.

el mapa es
Código: Text
  1.  
  2. std::map&#60;int,AGKDEVICE *&#62; Devices;
  3.  
  4.  

cuando recibo una petición de alta de un device:

Código: Text
  1.  
  2. if (Msg-&#62;GetTypeMsg()==TYPEMSG_PRESENCE)
  3.   {
  4.     if (AGKINSTALLATION::Get()-&#62;GetDevice(id)==NULL) //no esta dado de alta
  5.     {
  6.       time_t t=time(0);
  7.       AGKDEVICE * D=new AGKDEVICE();
  8.       Traza=D;
  9.         D-&#62;SetTime  (t);
  10.         D-&#62;SetID  (id);    
  11.       AGKINSTALLATION::Get()-&#62;AddDevice(D);
  12.     }
  13.   }
  14.  
  15.  

Agkinstallation solo es el mapa y AddDevice solo hace  

Código: Text
  1.  
  2. AGKINSTALLATION::AddDevice(D)
  3. { Devices[D-&#62;GetID()]=D; }
  4.  
  5.  

hasta aqui yo creo que todo bien.

ahora , quiero iterar todos los devices que me han llegado hasta ahora para ver a que hora llegaron:

Código: Text
  1.  
  2.   AGKINSTALLATION * I=AGKINSTALLATION::Get();
  3.   if (I-&#62;GetDevices().size()&#62;0)
  4.   {
  5.     std::map&#60;int,AGKDEVICE*&#62;Map=I-&#62;GetDevices();
  6.     std::map&#60;int,AGKDEVICE*&#62;::iterator it;
  7.     for(it = I-&#62;GetDevices().begin(); it != I-&#62;GetDevices().end(); ++it)
  8.     {
  9.      
  10.       AGKDEVICE* D=it-&#62;second;
  11.       if (D-&#62;IsDisabled()) continue;   &#60;&#60;&#60; EXCEPCION!!! D es NULO!
  12.  
  13.       if (t&#62;(time_t)(D-&#62;GetTime()+Elapse)) //timeout!
  14.       {
  15.                            ...
  16.                          }
  17.                 }
  18.         }
  19.  
  20.  

El problema me llega al iterar, el iterador lleva un Device Nulo cuando it = begin().
Debugeando , veo que en el Mapa esta bien insertado el Device.
Yo sospecho que el std::map pueda estar mal iterado, alguien sabe si es eso, y si lo es , como deberia hacer la iteración?

en Google siempre empiezan a iterar por Find, pero yo no se cuales estan dados de alta en el momento del checkeo.

Otra cosa, yo creia que en la adición del for debia ponerse it++ , sin embargo he visto en ejemplos del google que lo preincrementan. Por que es esto?


Muchas gracias.

58
C/C++ / Semana Del Año
« en: Jueves 22 de Noviembre de 2007, 10:50 »
Buenas:

estoy desarrollando una funcion para calcular la actual semana del año.

alguien sabe como hacer el algoritmo?

La idea es que dandole un TM o time_t pueda dar la semana del mes en el que estamos, la cosa se complica con los años bisiestos y todo eso, sabeis donde puede estar la formula?

59
Visual C++ / Singleton
« en: Miércoles 14 de Noviembre de 2007, 01:00 »
buenas:

estoy intentando hacer un patron singleton pero me esta dando un fallo que no entiendo:


este es el singleton
Código: Text
  1.  
  2. //---------------------------- H
  3.  
  4. class KngEngine
  5. {
  6. protected:
  7. static  KngEngine *  Instance;
  8.     KngEngine();
  9.  
  10. public:
  11. static  KngEngine *  Get();    //singleton
  12.  
  13. };
  14.  
  15. //---------------------------- C
  16.  
  17. KngEngine * KngEngine::Get()
  18. {
  19.   if (KngEngine::Instance==NULL)
  20.     KngEngine::Instance=new KngEngine();
  21.  
  22.   return KngEngine::Instance;
  23. }
  24.  
  25. KngEngine::KngEngine()
  26. {
  27.  
  28. }
  29.  
  30.  
cuando compilo me dice:

KngEngine.obj : error LNK2001: unresolved external symbol "protected: static class KngEngine * KngEngine::Instance" (?Instance@KngEngine@@1PAV1@A)
Debug/KngEngine.exe : fatal error LNK1120: 1 unresolved externals

sin embargo es solo un miembro de la clase, deberia estar correctamente definida. No entiendo en que consiste el fallo, y lo peor es que buscando por google parece que lo he implementado bien, alguien ve que puede estar mal?

gracias por anticipado

60
Visual C++ / Volcado De Imagen Rgb A Pantalla Win32
« en: Miércoles 29 de Agosto de 2007, 10:22 »
Buenas:

Tengo una imagen descompresa en formato RGB en un array de datos.
Querria hacer que aparezca en pantalla, a ser posible con stretch.

He probado con StretchDIBits y SetDIBitsToDevice y no he conseguido que se vea, sin embargo los datos de la imagen estan bien, ya que punto a punto se visualiza correctamente.

Código: Text
  1.  
  2.   BITMAPINFO bmi;
  3.     memset(&bmi, 0, sizeof(bmi));
  4.     bmi.bmiHeader.biSize        = sizeof(BITMAPINFOHEADER);
  5.     bmi.bmiHeader.biWidth       = jpeg.width;
  6.     bmi.bmiHeader.biHeight      = jpeg.height;
  7.     bmi.bmiHeader.biPlanes      = 1;
  8.     bmi.bmiHeader.biBitCount    = 0;
  9.     bmi.bmiHeader.biCompression = BI_RGB;
  10.   bmi.bmiHeader.biSizeImage   = 0;
  11.  
  12.     int iRet = StretchDIBits(dc,
  13.                          0, 0, jpeg.width, jpeg.height,
  14.                          0, 0, jpeg.width, jpeg.height,
  15.        jpeg.data,
  16.                          &bmi,
  17.                          DIB_RGB_COLORS,
  18.                          SRCCOPY);
  19.  
  20.  

Estoy haciendo algo mal? por que esta sacado de msdn y no se si estoy llenando la estructura correctamente o que

61
Visual C++ / Evitar Deseleccion De Listview
« en: Martes 21 de Agosto de 2007, 10:43 »
Buenas:
tengo un listview y querria evitar que el usuario deje el ListView sin ningun item seleccionado (como cuando se clickea fuera de un item).

He estado mirando los mensajes de notificacion pero no se como podria hacerlo, alguna idea?

62
Visual C++ / __fltused
« en: Viernes 27 de Julio de 2007, 00:01 »
Buenas:

estoy intentando hacer una demo de 4k y me he liado a desactivar todo lo desactivable para reducir el tamaño del executable.
La cosa es que ahora me da el error:

error LNK2001: unresolved external symbol __fltused

que parece tener misteriosa relacion con el empleo de floats en el codigo.  :o

El caso es que no se si a alguno le ha pasado, pero si alguien sabe que libreria tengo que incluir... en google dicen que quite el /NODEFAULTLIB pero es que la idea es mantenerlo  &lt;_&lt;

gracias por adelantado

63
Visual C++ / Crear Un Directorio En "program Files"
« en: Jueves 12 de Julio de 2007, 13:26 »
Buenas:

Teniendo en cuenta que Archivos de Programa puede llamarse Program Files u otras cosas como puedo asegurarme de crear un directorio en el equivalente de Archivos de Programa del usuario?

he probado con CreateDirectory("%ProgramFiles%/Prueba",0);

y no ha funcionado, alguna idea?

64
Visual C++ / Inicializacion De Arrays
« en: Jueves 28 de Junio de 2007, 14:23 »
Buenas:

Pues me he liao al inicializar un array y no se como solucionarlo:

tengo 2 ficheros: parse.cpp y proc.cpp

ambos usan un array llamado _TypeDevice TipoDispositivos []

que defino en tipo_disp.h tal que :

_TypeDevice TipoDispositivos []=
{
{ 0, 1, "desconocido"},
{ 0, 3, "Sensor M"},
...
}

hasta aqui bien
pero al compilar me da conflicto claro, por que se define en parse.cpp antes que en proc.cpp

luego, lo he pasado a un .cpp pero claro, no me permite inicializarlo al definirlo.

como puedo iniciarlo al definirlo y usarlo en 2 cpp?

65
Visual C++ / Saltos De Linea En Edit Multilinea
« en: Miércoles 27 de Junio de 2007, 10:42 »
Buenas:

Tengo un edit multilinea para examinar el contenido de un archivo al estilo notepad.
Leo un archivo y lo vuelco al edit.
Sin embargo, no me respeta los saltos de linea del archivo, en su lugar aparece el clasico cuadradito blanco.

Alguien sabe como puedo obligarle a pasar de linea con los saltos?

66
Visual C++ / Re: ¿un Ejecutable Que Se Borre A Si Mismo?
« en: Martes 5 de Junio de 2007, 12:14 »
Buenas:

Mi pregunta es si hay alguna forma de que un ejecutable, despues de realizar sus gestiones (que para ser exactos es una desinstalación), se borre a si mismo.

Entiendo que todos los programas de desinstalación lo hacen, luego no debe ser una tarea excesivamente compleja.

Alguna idea?

67
Programación de Archivos del Sistema / Archivos Bat
« en: Martes 29 de Mayo de 2007, 19:09 »
Buenas:

estaba intentando hacer un .bat para automatizar la peticion de mysqldump diaria.
la cosa es que queria que se realizase el dump automaticamente a un archivo del estilo de :
db_dump_2007_05_28.txt

lo que me gustaria saber es como hacer para crear un archivo con ese nombre en un .bat  en msdos o sea lo que seria en UNIX:

$name="db_dump`date`.txt";
dump > $name;



solo que en ms dos no se como seria

gracias

68
Visual C++ / Recibir Eventos De Entrada En Rs232
« en: Jueves 10 de Mayo de 2007, 14:12 »
Buenas:

Un dia codificando por ahi vi una funcion en Unix que permitia asignar una funcion a un evento de entrada estandard, que se lanzaba en el instante en que hubiera data en el flujo. Supongo que seria algo estandard.

Es posible hacer eso mismo con los flujos de un archivo de entrada de COM en Windows?

69
JavaScript / Cambio De Imagen De Fondo En Tabla
« en: Sábado 28 de Abril de 2007, 00:27 »
Buenas:

Estoy haciendo una pequeña funcion en php para que me pinte un menu.
Para ello, dibujo las celdas de una tabla y en ellas pongo un background de imagen.
Mi intención es que cuando se pase el cursor por encima (OnMouseOver) se cambie la imagen de background por otra.

He probado con :

<table>
<tr>

<td onMouseOver="javascript: style.background-image=url('imagen_over.gif');" style="background-image:url('imagen.gif');">

</td>
</tr>
</table>

Pero no tiene ningun efecto, me podeis indicar como se podria hacer? gracias de antemano.

PD: He visto algunos tutoriales para hacerlo cambiando el class style , pero no me vale por que es un background distinto segun la linea de la tabla.

70
Visual C++ / Getprocaddress
« en: Viernes 30 de Marzo de 2007, 15:36 »
Buenas:

LLevo mis buenas horas dandole vueltas a lo que creo que sera un error de lo mas simple. He mirado en Google y no encuentro lo que puedo estar haciendo mal.
Estoy haciendo una dll.

en el .h pongo :

Código: Text
  1. #ifdef WRAPPER_EXPORTS
  2.   #define WRAPPER_API __declspec(dllexport)
  3. #else
  4.   #define WRAPPER_API __declspec(dllimport)
  5. #endif
  6.  
  7.  
  8. WRAPPER_API void Test(void);
  9.  

en el .CPP pongo:

Código: Text
  1. #define WIN32_LEAN_AND_MEAN  
  2. #include &#60;windows.h&#62;
  3.  
  4. #include &#34;Wrapper.h&#34;
  5.  
  6.  
  7. BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
  8. {
  9.   switch (ul_reason_for_call)
  10.   {
  11.   case DLL_PROCESS_ATTACH:
  12.         MessageBox(NULL,&#34;Process Attachment!&#34;,NULL,NULL);
  13.         break;
  14.   case DLL_THREAD_ATTACH:
  15.         break;
  16.   case DLL_THREAD_DETACH:
  17.         break;
  18.   case DLL_PROCESS_DETACH:
  19.         MessageBox(NULL,&#34;Process Dettachment!&#34;,NULL,NULL);  
  20.         break;  
  21.   }
  22.     return TRUE;
  23. }
  24.  
  25. WRAPPER_API void Test(void)
  26. {
  27. /*... CODE ... */
  28. }
  29.  
  30.  
  31.  


Hasta aqui todo es lo que me crea practicamente el wizard.
El problema es que cuando la voy a usar en el programa WRAPPER_TEST.cpp

Código: Text
  1. #include &#60;windows.h&#62;
  2.  
  3. void (*Pru)();
  4.  
  5. int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR lp,int nShowCmd)
  6. {
  7.   SetErrorMode(0);
  8.        HINSTANCE hLib=LoadLibrary(&#34;Wrapper.dll&#34;);
  9.  
  10.      if (hLib!=NULL)
  11.        {
  12.        Pru=(void(*)())GetProcAddress(hLib,&#34;Test&#34;);
  13.        if (Pru==NULL)        
  14.       MessageBox(NULL,&#34;PRU NULL!&#34;,NULL,NULL);        
  15.        }
  16.  
  17.      return 0;
  18. }
  19.  


Resulta que Pru siempre me da NULL, no se que puedo estar haciendo mal en esta DLL.
Muchas gracias por anticipado.

71
Visual C++ / Templates
« en: Viernes 2 de Marzo de 2007, 11:09 »
buenas:

estoy haciendo una clase de arbol al estilo stl con plantillas.

el caso es que declaro la clase en el .H:

Código: Text
  1.  
  2. template &#60;typename T&#62;
  3. class appTreeNode
  4. {
  5.   ...
  6. }
  7.  
  8.  
y todo va bien,si los metodos los declararo en la propia clase;
 si no me da problemas de compilacion.

en el Cpp lo he puesto asi:

Código: Text
  1.  
  2. //------------------------------------------------------------------------------- AddSon
  3. template &#60;typename T&#62;
  4. void      appTreeNode&#60;T&#62;::AddSon      (T nSon)
  5. {
  6.   ...
  7. };
  8.  
  9.  

me dice que no encuentra el metodo a la hora de compilar:
unresolved external symbol "public: class appTreeNode<class AMESSAGE *> * __thiscall appTreeNode<class AMESSAGE *>::GetSon(int)" [...] referenced in function _WinMain@16

Tiene pinta de ser que uso el template incorrectamente, pero lo he hecho tal como he leido en las web...


Para usar las templates solo tengo que especificar el
template <typename T> antes del metodo que las usa no?

72
Visual C++ / Compilador Y Seh
« en: Lunes 19 de Febrero de 2007, 11:35 »
Buenas:

Me he creado una macro, que dependiendo de si se define un define mio, cambia la forma en la que se reciben las excepciones:

Código: Text
  1.  
  2.  
  3. #ifdef DEBUG_APP_ERROR
  4.   #define _APP_TRY __try
  5.   #define _APP_CATCH(m) __except (ExpFilter(m,GetExceptionInformation(), GetExceptionCode(),__LINE__,__FUNCTION__)){}
  6. #else
  7.   #define _APP_TRY try
  8.   #define _APP_CATCH(m) catch(...) {}
  9. #endif
  10.  

despues lo uso en un cacho de codigo:

Código: Text
  1.  
  2. #define DEBUG_APP_ERROR
  3. while (!app-&#62;IsFinished())
  4.     {    
  5.     _APP_TRY
  6.         {    
  7.         app-&#62;Init     ();
  8.         app-&#62;Main   ();
  9.         app-&#62;End   ();
  10.         }
  11.         _APP_CATCH(&#34;Bucle Principal&#34;);
  12.     }
  13.  
  14.  


Bueno, el caso es que cuando lo compilo, me dice :

Cannot use __try in functions that require object unwinding Cannot use __try in functions that require object unwinding

He buscado en Google y la causa es que no compilaba con /GX- para deshabilitar las SEH y usar try/catch de c (corregidme si me equivoco).

La cosa ahora es que con esa opcion, cuando compilo, el compilador me saca otro warning si uso el "using namespace STD".

warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc

Bueno, pues son Incompatibles uno con el otro /Gx- override /EHsc , si quito /Gx- me dice que no puede hacerlo y si lo pongo me dice que no tiene el unwind...

¿Que estoy haciendo mal?
¿Puedo ignorar el warning?
¿Me estoy liando y realmente no entendi bien?

Gracias por adelantado y disculpad el tamaño del post.

73
Visual C++ / Icono De Notificacion Desaparece Al Pasar Raton
« en: Martes 13 de Febrero de 2007, 18:03 »
Buenas de nuevo:

Tengo un icono de notificacion en elSystem Tray.
Lo creo con Shell_NotifyIcon y tengo una ventana valida para que reciba sus msg.


NOTIFYICONDATA   m_niData;            //estructura con los datos del tray
      this->hIcon=LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_ICON));

   m_niData.cbSize=sizeof(NOTIFYICONDATA);      //tamaño de la estructura    
   m_niData.hIcon=hIcon;                                       //icono
   m_niData.hWnd=window;                                    //handle del window que contendra el proceso que administrara sus messages
   

   strcpy(m_niData.szTip,this->Name);      
   

   m_niData.uCallbackMessage=WM_APPTRAY;    //identificador del mensaje cuando hay una notificacion del tray
   m_niData.uFlags=NIF_ICON | NIF_MESSAGE | NIF_TIP;  //habilita estas opciones en el tray                  
   m_niData.uID=ID_ICONDATA;               //identificador del tray



      //-
   Shell_NotifyIcon(NIM_ADD,&m_niData);




El caso es que se crea correctamente, pero al pasar el raton sobre el ... desaparece...

La ventana existe correctamente, ya que procesa otros mensajes.

Hay un bucle de mensajes correcto.

No se me ocurre mas...

gracias por anticipado.

74
Visual C++ / Warning De Linkado
« en: Lunes 12 de Febrero de 2007, 15:32 »
buenas:

al linkar la libreria ADVAPI32.lib que necesito para programar los registros del windows me aparece el warning de linkado:

 all references to 'ADVAPI32.dll' discarded by /OPT:REF

realmente tengo la /OPT:REF

es benigno este warning?
deberia hacer algo?
que se supone que es esa dll?


gracias por anticipado.

75
Visual C++ / Regopencurrentuser
« en: Jueves 8 de Febrero de 2007, 13:34 »
buenas:

estoy urgando en los registros y haciendo una clase para modificar los registros y asi lanzar las aplicaciones desde startup.

yo lo hago asi:

char s[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run\\";
LONG ret=
open = RegOpenKeyEx(HKEY_CURRENT_USER, s, 0, KEY_WRITE | KEY_READ, &hKey);

sin embargo he leido en la msdn que deberia abrirlo con RegOpenCurrentUser.

Que diferencia hay?
Como puedo abrir la subkey adecuada si uso RegOpenCurrentUser?
(por que creo que solo abre la Key  HKEY_CURRENT_USER).
Como puedo hacer para que se inicie la aplicacion independientemente del usuario en el que se instale?


gracias de antemano

Páginas: 1 2 [3] 4