Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - dewolo

#1
Programación C/C++ / TLS
16 Octubre 2011, 17:44 PM
amigoz, quisiera saber acerca de TLS cuando usarlo en que casos me conviene usarlo y como se usa. me han recomendado usarlo pero no se como, quisiera saber mas acerca de la utilidad y de como/cuando aplicarlo, un ejemplo algo, gracias

#2
Programación C/C++ / callbacks dentro de clases
10 Octubre 2011, 18:51 PM
estuve trabajando con callbacks pero ahora estaba con otra api de windows que lleva callback (la api es SetTimer), y me lleva a la duda de si los callbacks pueden estar dentro de una clase, o si deben ser static, preguntas como esas...

por ejemplo en este codigo que ya lo compile pero todavia no me anda XD
http://www.codeproject.com/KB/cpp/SetTimer__non-static.aspx

entiendo que no puede usar el callback directamente como static, porque se necesitaria acceder a miembros de clase y si el callback es static no puede, entonces se crea una funcion de "envoltura" para que sea llamada como si fuera el callback y esta funcion llama internamiente al callback que es static. entonces asumo que si puede ir dentro de una clase pero haciendo este truco de disimular el static dentro de una funcion wrapper. y entonces porque es o debe ser static el callback final?





#3
http://www.zator.com/Cpp/E4_9_19.htm
http://www.hackingballz.com/herramientas/manual-oficial-de-php/language.oop5.paamayim-nekudotayim.html

hola, mirando unos codigos mesurgio una duda sobre un operador que nunca me enseniaron completamente, es el doble dos puntos, por ejemplo en el compilador dentro del main si pongo
"::" sale un cartel con algunas opciones, pero en otros codigos mas precisamente en codigos de clases personalizadas, he visto como se llaman a funciones de windows usando ese operador, quisiera saber para que se hace esto, nunca lo supe  :-[
por ahi es algo tonto pero no me lo enseniaron  :¬¬



Uploaded with ImageShack.us

unos ejemplos que encontree


bool CAppGetReso::OnInit()
{
    //! Initialize all image handlers.
    ::wxInitAllImageHandlers();

    //~ Initialize all XRC handlers.
    wxXmlResource::Get()->InitAllHandlers();

    //~ Return true to continue processing.
    return(true);
}



VOID CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime)
{
::EnterCriticalSection(&lock);

if(idEvent == pTimer)
{
KillTimer(NULL, pTimer);
ResumeThread();

}

::LeaveCriticalSection(&lock);
}


otro ejemplo


class SimpleControl
{
public:
   SimpleControl (HWND hwndParent, int id)
       : _hWnd (GetDlgItem (hwndParent, id))
   {}

   void SetFocus ()
   {
       ::SetFocus (_hWnd);
   }

   // code is the HIWORD (wParam)
   static BOOL IsClicked (int code)
   {
       return code == BN_CLICKED;
   }

   HWND Hwnd () const { return _hWnd; }

   void Enable ()
   {
       EnableWindow (_hWnd, TRUE);
   }

   void Disable ()
   {
       EnableWindow (_hWnd, FALSE);
   }

   void SetFont (HFONT font)
   {
       SendMessage ( Hwnd (), WM_SETFONT, (WPARAM) font, MAKELPARAM(TRUE, 0));
   }
protected:
   HWND _hWnd;
};

#4
extern "C"
class __declspec(dllexport) Datos
{
public:
         void valorar(int i){val=i;};
private:
         int i;
};

hola estoy tratando de exportar una clase desde una dll para usarla en un programa, lo que qusiera es saber como quito el decoramiento de los exports de la dll ?
ya estuve mirando al respecto http://msdn.microsoft.com/en-us/library/81h27t8c.aspx
pero necesito como quitar el decoramiento de los exports si alguien sabe  :rolleyes:

EI: juntando mensajes.

:-\ no sabia que no se podia
http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx

segun este informe si se exporta una clase usando vc el programa que la va a usar debe ser compilado con el msmo compilador por la gracia del decoramiento de nombres.

EI: juntando mensajes de nuevo.
alguien que sepa puede explicar esto
http://www.codeproject.com/KB/DLL/classesexportedusingLL.aspx

osea la persona esta importando miembros de una clase externa (que esta en una dll), y para encontrar los nombres de los miembros usa getprocaddress pero los nombres no estan decorados como puede ser ?, si habia leido que la decoracion en una clase no se podia evitar (al menos en visual studio), pero esta persona usa visual studio  :-\

otra pregunta seria si puedo usar getprocaddress de la misma forma que uso esta perzona pero pasandole como argumento el nombre decorado ya que decorado o no es un nombre  :P

espero alguna respuesta  ;-)
#5
tengo una aplicacion basica de winapi32 (grafica), y esta basada en dialogos, pero desde el pimer momento en que creo el dialogo padre, cuando inicio la aplicacion el dialogo padre aparece en una esquina, yo lo quiero centralizado ¿ como debo hacer ?  :-*
aclaro algo, el primer dialogo osea el padre no esta relacionado a ningun otro porque es el primero creado en el main. por eso lo que pregunto es como centralizar el primer dalogo creado
algo busque XD
http://search.cpan.org/~robertmay/Win32-GUI-1.04/docs/GUI/Tutorial/Part1.pod#Centring_the_window_and_the_text

EI: juntando mensajes.

ah esto lo habia descubierto ya, los recursos tienen diversas propiedades, esto del centrado se puede especificar desde el script de recursos y no por programacion. solo se puede por programacion si se trata de una ventana hija  ::)
#6
Programación C/C++ / leer cadena de editbox
5 Octubre 2011, 00:03 AM
estoy tratando de leer el contenido que se ingresa a un editbox el cual esta en un dialogbox secundario .... encontre este codigo en visual basic que no entiendo muy bien pero trate de pasarlo a c o de entender al menos lo que hace, pero no entiendo como hacer esto aun


Public Function GetTextBoxLine(hWnd As Long) As String
'INPUT: hWnd = Handle to text box
'OUTPUT: Text of specified TextBox Control

Dim lngLineCount As Long
Dim lngLineNumber As Long
Dim lngRet As Long
Dim lngLen As Long
Dim lngFirstCharPos As Long
Dim bytBuffer() As Byte
Dim strAns As String

'get number of lines
lngLineCount = SendMessage(hWnd, EM_GETLINECOUNT, 0, 0&)

For lngLineNumber = 0 To lngLineCount - 1
'first character position of the line
lngFirstCharPos = SendMessage(hWnd, EM_LINEINDEX, lngLineNumber, 0&)

'length of line
lngLen = SendMessage(hWnd, EM_LINELENGTH, lngFirstCharPos, 0&)

ReDim bytBuffer(lngLen) As Byte

bytBuffer(0) = lngLen

'text of line saved to bytBuffer
lngRet = SendMessage(hWnd, EM_GETLINE, lngLineNumber, bytBuffer(0))

If lngRet Then
strAns = strAns & Left$(StrConv(bytBuffer, vbUnicode), lngLen)
End If
Next

GetTextBoxLine = strAns
End Function



asi esta mi aproximacion de codigo pero no es asi me parece


long lngFirstCharPos = SendMessage(hWnd, EM_LINEINDEX, 0, 0);
int lngLen = SendMessage(hWnd, EM_LINELENGTH, lngFirstCharPos, 0);
chBuffer1[0] = lngLen;
long lngRet = SendMessage(hWnd, EM_GETLINE, 0, chBuffer1);



antes lo habia hecho asi pero tampoco recivia nada



char chBuffer1[MAX_PATH];//={0};
int t1=SendDlgItemMessage(hWnd, IDC_ART1, EM_GETLINE, 0, (LPARAM)(LPSTR)chBuffer1);//LB_GETSTRING

char asd[12];

sprintf(asd, "%d", t1);

MessageBox(hWnd,chBuffer1,asd,0);


agradezo su ayuda  :)
#7


Uploaded with ImageShack.us

esta en la parte de maindialog

case IDC_LIST2:
switch(HIWORD(wParam))
{
case LBN_SELCHANGE:
{
                               }
                       }


de esta forma detecta si hubo seleccion de items, pero yo quisiera saber de que item se trata, osea necesitaria una ID de elemento o algo que me diga cual elemento se ha seleccionado..

#8
Programación C/C++ / un dialogo dentro de otro
4 Octubre 2011, 19:33 PM
hola estoy creando un programa que consta de un dialogbox y tiene dos listbox y algunos botones, lo que quisiera hacer es que al presionar uno de los botones se abra otra ventana de dialogo... mi pregunta seria que funcion debo usar o dialogbox o createdialog y si lo puedo hacer
en la parte adonde detecto la presion del boton7 en el caso de mi codigo, en verdad no se bien adonde hacerlo  :-[
tambien me serviria si alguien tiene algun codigo de ejemplo adonde ya usen dialogos que se abren dentro de otro existente (seria como decir dialogo padre y dialogos hijos), es que no encontre ningun ejemplo y soy iniciado en esto.. solo uso c , es decir no uso mfc  :xD


INT_PTR CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  case WM_COMMAND:
     switch(LOWORD(wParam))
     {
              case IDC_BUTTON7:
{
                        if(  gbCaso == 1 )
                        {

                               /* Puedo crear el dialog box en este lugar al presionarse el boton ? */
                        }
             }
     }
}


en el WinMain


//creo el dailogo principal
hDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DLGPROC)DialogProc, 0);



EI: juntando mensajes.

XD  era algo facil pense que era mas complicado, con createdialog y luego algo como esto, gracias google  :P

if(g_hSD_d1 != NULL)
{
    ShowWindow(g_hSD_d1, SW_SHOW);
}


y luego se libera desde su propio callback
#9
Programación C/C++ / castiar un thiscall
30 Septiembre 2011, 19:53 PM

estoi probando un metodo que encontre en el foro sobre inyectar una struct (de un usario eon)
desde un exe sin dll. la idea mia es ir ahora a inisiar un thread en el momento q esta inyectada la estruct
dada esta struct

struct EstructIny
{
        TipoCT pCT;

        void Func(void)
        {
        }
}

//La función que inyectaremos
DWORD Inyectada ( EstructIny *data)
{
      data->pCT(NULL, 0, (LPTHREAD_START_ROUTINE)data->Func, NULL, 0, NULL);
      return 0;
}

el error es de  compilacion, porque no permite el tercer parametro de createthread no admite o no puede convertir el dato que le paso. como lo puede hacer alguien que sepa mas de c o c++ que yo, porque necesito pasarle ese parametro para que se complete la inyeccion

e tratado de hacer algo asi
DWORD dir = (DWORD)data->Func;

pero dice
Citar
'type cast' : cannot convert from 'void (__thiscall EstructIny::*)(void)' to 'unsigned long'

como puedo hacer entonces ?



#10
Programación General / desensamblador
17 Agosto 2011, 01:07 AM

me e plateado como actividad educativa tratar de hacer un desensablador basico , no se como acer uno, pero stube buscando informacion , por ejemplo encontre codigos o programas llamados ""disasemler engines"" no se si tiene algo que relasionarse con acer un desemsablador. yo por quisera hacerlo en c, aunque sea basico que reconozca los opcodes basicos y luego traspasarlos a nemonico automaticamnte, pero si alguno ha inentado hacer esto antes, quisiera que me oriente y parte saber lo de los engines que he mencionado, atentamente
#11
ASM / bubblesort en fasm
25 Abril 2011, 22:22 PM
ola e encontrado ese codigo pero quiero pasarlo a fasm, soy nuevo en la materia  :-[
lo que nesesito es el bubblesort pero para fasm pero amndando  :xD


.data
array SDWORD 10 DUP(10009h, 10002h, 10003h, 10004h, 10001h, 10006h, 10007h, 10008h, 10005h, 10010h)
len DWORD lengthof array

.code
MAIN PROC
INVOKE BBSORT, ADDR array, len
mov esi, offset array
call Funzione che visualizza parte della memoria
MAIN ENDP

BBSORT PROC USES eax ecx esi, aarr: PTR SDWORD, larr: DWORD
LOCAL part: DWORD, cloop: BYTE
mov edx, 0
mov eax, larr
mov ebx, 10
div ebx
mov ecx, 2
push edx
mov part, 0
mov cloop, 0
lp:
push ecx
mov eax, 0
cmp part, 0
je ls 
mov edx, 0
mov eax, part
mul ebx
shl eax, 2
mov edx, eax
ls:
dec ecx
cmp ecx, 0
je lr
l1:
push ecx
mov ecx, ebx
dec ecx
mov esi, aarr
add esi, edx
l2:
call DumpRegs
mov eax, [esi]
cmp [esi + 4], eax
jg l3
xchg eax, [esi + 4]
mov [esi], eax
l3:
add esi, 4
loop l2
pop ecx
loop l1
mov esi, aarr
add esi, edx
inc part
pop ecx
loop lp
jmp lr
cmp cloop, 2
je lr
cmp cloop, 1
je la
pop edx
mov ecx, edx
mov part, 0
mov cloop, 1
jmp lp
la:
mov ecx, 100
mov part, 0
mov cloop, 2
jmp lp
lr:
ret
BBSORT ENDP


#12
tengo un problema es que grabo un video con camtasia y uso ek codec divx7pro y se ve bien el video en mi pc con el windows media, despues lo qh agho es en camtasia lo agrego para editarlo  y pongo "produce as" y pongo formato youtube pero cuando miro al video que sale lo noto que se bino abajo la calidad me parece y youtube lo hace ver peor todavia, por eso quisiera saber como debo tener el video final antes de subirlo a youtube, el formato qe tien que ser GRACIAs
#13
Multimedia / codec div ultimo con camtasia7
20 Julio 2010, 19:31 PM
isntale el camtasia 7.01 y los ultimos codes del divx de la ueb oficial es como muestra el tutorial de camtacia en el foro, puse ese codec

esta fotomuestra bien

y me zale este error no me dejha grabar cuando apreto REC

segui los pazos del tutorial  :huh: porque me sale ese rror
#14
grabe un video con camtasia o  con camstudio, pero ahora quiero a ese video agregarle sonido, por ejemplo una cansion que acompanie el vid, como haria tal cosa? con q porgrama=? graicias
#15
Multimedia / cantacia 6 video codex
18 Junio 2010, 23:00 PM



quisiera saber el code correcto y las frames correctas para camtasia 6, para un video avi de poco tamaño, el ultimo qe ice pesaba 4 gb. agradezzco la asistencia
#16
estoy experimentando con winlicense sobre las licensias de registro, tengo un ejecutable con el que estoy haciendo la prueba. uso la opcion de leer el hardware id de la computadora a donde envio el ejecutable, necesitaria que me devuelva un numero para crear un hash correspondiente, pero no se como hacerlo todavia, en armadillo sabia pero en winlicense todavia tengo dudas  :rolleyes: :rolleyes: alguno lo sabe hacer ? se lo agrdecere
#17
Multimedia / VCD a hdd
3 Julio 2008, 20:08 PM
buenas, tengo un vcd una peli q me gusta y la quiero pasar a la computadora, pero cuando la abro no me aparece obviamente el archivo de video mpeg me aparece el formato vcd para pasarlo por el videoplayer casero, yo quisiera recuperar el mpeg de ese vcd y tenerlo en mi pc cmo hago ?