Ir al contenido


Foto

Modificar propiedades del sistema


  • Por favor identifícate para responder
13 respuestas en este tema

#1 mantpro

mantpro

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 03 julio 2010 - 03:33

Hola, necesito modificar la solapa general de propiedades de sistema ( ram/ cpu etc ... ) se que se puede hacer con delphi pero no se como... lo yo quiero por ejemplo es borrar todo lo que dice hay y modificarlo a mi gusto, por ejemplo yo tengo 2 gb de ram .. y lo que quiero es poner que tengo 6 gb se entiende ? lo mismo con el procesador... si hay alguien que sabe como hacerlo porfavor que me ayude .. desde ya muchas gracias.

PD: Aca dejo un codigo que puede que les sirva para hacerlo .. es de un clubdelphi



delphi
  1. library Injection;
  2.  
  3. uses
  4.   Windows, Sysutils, Messages, Psapi, CommCtrl;
  5.  
  6. type
  7.   TShared = record
  8.     Hook: HHooK;
  9.     AttachCount: Integer;
  10.   end;
  11.   PShared = ^TShared;
  12.  
  13.   PItem = ^TItem;
  14.   TItem = record
  15.     hWnd: HWND;
  16.     WndProc: Pointer;
  17.     Next: PItem;
  18.   end;
  19.  
  20. var
  21.   Mutex, Mem: THandle;
  22.   Shared: PShared;
  23.   Injected: Boolean;
  24.   HandleList: PItem;
  25.  
  26. function FindWindowProc(hWnd: HWND; Item: PItem): Pointer;
  27. begin
  28.   if Item <> nil then
  29.   begin
  30.     if Item.hWnd = hWnd then
  31.       Result:= Item.WndProc
  32.     else
  33.       Result:= FindWindowProc(hWnd,Item.Next);
  34.   end else
  35.     Result:= nil;
  36. end;
  37.  
  38. function WindowProc(hWnd: HWND; Msg: UINT; WParam: WPARAM; LParam: LPARAM):
  39.   LRESULT; stdcall;
  40. var
  41.   Str: String;
  42. begin
  43.   if (Msg = WM_SETTEXT) then
  44.   begin
  45.     Str:= String(PChar(LParam));
  46.     Str:= StringReplace(Str,'1,00 GB','2,00 GB',[rfReplaceAll,rfIgnoreCase]);
  47.     Str:= StringReplace(Str,'512 MB','1,00 GB',[rfReplaceAll,rfIgnoreCase]);
  48.     LParam:= Longint(PChar(Str));
  49.   end;
  50.   Result:= CallWindowProc(FindWindowProc(hWnd,HandleList),hWnd,Msg,WParam,lParam);
  51. end;
  52.  
  53. procedure HookWindow(hWnd: HWND);
  54. var
  55.   Item: PItem;
  56. begin
  57.   if FindWindowProc(hWnd, HandleList) = nil then
  58.   begin
  59.     GetMem(Item,Sizeof(TItem));
  60.     Item.hWnd:= hWnd;
  61.     Item.Next:= HandleList;
  62.     Item.WndProc:= Pointer(SetWindowLong(hWnd,GWL_WNDPROC,LongInt(@WindowProc)));
  63.     HandleList:= Item;
  64.   end;
  65. end;
  66.  
  67. function CallWndProc(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT;
  68.   stdcall;
  69. var
  70.   ClassName: array[0..16] of Char;
  71. begin
  72.   if Code = HC_ACTION then
  73.     if Injected then
  74.     begin
  75.       FillChar(ClassName,Sizeof(ClassName),0);
  76.       if GetClassName(PCWPStruct(lParam).hwnd,@ClassName,Sizeof(ClassName)-1) > 0 then
  77.         if StrIComp(ClassName,'Link Window') = 0 then
  78.         begin
  79.           HookWindow(PCWPStruct(lParam).hwnd);
  80.         end;
  81.     end;
  82.   Result := CallNextHookEx(Shared^.Hook, Code, wParam, lParam);
  83. end;
  84.  
  85. procedure StartHook; stdcall;
  86. begin
  87.   if Shared <> nil then
  88.   begin
  89.     WaitForSingleObject(Mutex, INFINITE);
  90.     try
  91.       with Shared^ do
  92.       begin
  93.         if Hook = 0 then
  94.           Hook := SetWindowsHookEx(WH_CALLWNDPROC, @CallWndProc, HInstance, 0);
  95.       end;
  96.     finally
  97.       ReleaseMutex(Mutex);
  98.     end;
  99.   end;
  100. end;
  101.  
  102. procedure StopHook; stdcall;
  103. begin
  104.   if Shared <> nil then
  105.   begin
  106.     WaitForSingleObject(Mutex, INFINITE);
  107.     try
  108.       with Shared^ do
  109.       begin
  110.         if Hook <> 0 then
  111.         begin
  112.           UnhookWindowsHookEx(Hook);
  113.           Hook := 0;
  114.         end;
  115.       end;
  116.     finally
  117.       ReleaseMutex(Mutex);
  118.     end;
  119.   end;
  120. end;
  121.  
  122. procedure Inject;
  123. var
  124.   Process: THandle;
  125.   ModName: array[0..MAX_PATH] of Char;
  126.   Target: array[0..MAX_PATH] of Char;
  127. begin
  128.   Injected:= FALSE;
  129.   Process := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE,
  130.     GetCurrentProcessId);
  131.   if Process <> 0 then
  132.   begin
  133.     if GetModuleFileNameEx(Process, 0, ModName,sizeof(ModName)-1) > 0  then
  134.     begin
  135.       FillChar(Target,Sizeof(Target),#0);
  136.       GetSystemDirectory(@Target,Sizeof(Target)-1);
  137.       StrLCat(Target,'\rundll32.exe',Sizeof(Target)-1);
  138.       OutputDebugString(Target);
  139.       if StrIComp(Target,ModName) = 0 then
  140.       begin
  141.         // Un pequeño pitido nos avisa de que no hemos infiltrado
  142.         Windows.Beep(500,100);
  143.         HandleList:= nil;
  144.         Injected:= TRUE;
  145.       end;
  146.     end;
  147.     CloseHandle(Process);
  148.   end;
  149. end;
  150.  
  151. procedure Attach; stdcall;
  152. var
  153.   isNew: boolean;
  154. begin
  155.   Mutex := CreateMutex(nil, True, '{92366DA1-4F66-472D-BE12-65F0993F62AC}');
  156.   try
  157.     Mem := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, SizeOf(TShared),
  158.       '{D1A38D62-9FAB-4298-A358-579D2D286E40}');
  159.     isNew := GetLastError() = 0;
  160.     if Mem <> 0 then
  161.       Shared := MapViewOfFile(Mem, FILE_MAP_WRITE, 0, 0, 0)
  162.     else
  163.       Shared := nil;
  164.     if Shared <> nil then
  165.       if isNew then
  166.         with Shared^ do
  167.         begin
  168.           Hook := 0;
  169.           AttachCount := 1;
  170.         end
  171.       else
  172.         inc(Shared^.AttachCount);
  173.   finally
  174.     ReleaseMutex(Mutex);
  175.   end;
  176.   // Aqui viene la inyeccion
  177.   Inject;
  178. end;
  179.  
  180. procedure UnHookWindows(Item: PItem);
  181. begin
  182.   if Item <> nil then
  183.   begin
  184.     UnHookWindows(Item.Next);
  185.     SetWindowLong(Item.hWnd,GWL_WNDPROC,LongInt(Item.WndProc));
  186.     FreeMem(Item);
  187.   end;
  188. end;
  189.  
  190. procedure Detach; stdcall;
  191. begin
  192.   WaitForSingleObject(Mutex, INFINITE);
  193.   try
  194.     if (Shared <> nil) then
  195.       dec(Shared^.AttachCount);
  196.   finally
  197.     ReleaseMutex(Mutex);
  198.   end;
  199.   if (Shared <> nil) then
  200.     if Shared^.AttachCount <= 0 then
  201.     begin
  202.       StopHook;
  203.       UnmapViewOfFile(Shared);
  204.       CloseHandle(Mem);
  205.       CloseHandle(Mutex);
  206.     end;
  207.   if Injected then
  208.     UnHookWindows(HandleList);
  209. end;
  210.  
  211. procedure DLLEntryPoint(Reason: integer);
  212. begin
  213.   case Reason of
  214.     Dll_Process_Detach: Detach;
  215.     Dll_Process_Attach: Attach;
  216.   end;
  217. end;
  218.  
  219. exports
  220.   StartHook,
  221.   StopHook;
  222.  
  223. begin
  224.   Attach;
  225.   DLLProc:= @DLLEntryPoint;
  226. end.


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 03 julio 2010 - 03:50

Hola, mantpro. Bienvenido al foro.

Ese código que expones en de seoane y viene de aquí. En ese hilo tienes suficiente información sobre este tema. Es un poco controvertido que quieras suplantar la visualización todas las propiedades del sistema, ¿no crees?. Seguro que tienes una buena razón pero resulta un tanto chocante...

Saludos.


  • 0

#3 mantpro

mantpro

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 03 julio 2010 - 06:45

Hola, mantpro. Bienvenido al foro.

Ese código que expones en de seoane y viene de aquí. En ese hilo tienes suficiente información sobre este tema. Es un poco controvertido que quieras suplantar la visualización todas las propiedades del sistema, ¿no crees?. Seguro que tienes una buena razón pero resulta un tanto chocante...

Saludos.


Hola, la razon por la que necesito eso es para un proyecto en la secundaria .. y como quiero un 10 asegurado me vendria de perfecto esto que seguro que sorprendo a los profesores  :D
Precisamente ese codigo lo saque de clubdelphi y seoane lo habia posteado  (y)
Exactamente lo que necesitaria es que envez de 1 gb diga 6 y cambiar el nombre y los ghz del procesador tambien.. gracias por haberme respondido..
Saludos.
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 03 julio 2010 - 06:53

Bueno, me parece difícil de entender como en la escuela te ponen una tarea para hackear las propiedades del sistema...

De todas formas, insisto en que el tema está bastante claro en el hilo original, así que, si realmente quieres sorprender a tu profesor deberías experimentar con el código y entenderlo, de lo contrario será tu profesor el que te sorprenda a ti.  ;)

Saludos.
  • 0

#5 mantpro

mantpro

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 03 julio 2010 - 07:46

Bueno, me parece difícil de entender como en la escuela te ponen una tarea para hackear las propiedades del sistema...

De todas formas, insisto en que el tema está bastante claro en el hilo original, así que, si realmente quieres sorprender a tu profesor deberías experimentar con el código y entenderlo, de lo contrario será tu profesor el que te sorprenda a ti.  ;)

Saludos.


Jaja mas que nada es de programacion el proyecto y como no creo que nadie haga algo parecido me parecio "original" .. bueno vere que puedo hacer  :)
  • 0

#6 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 julio 2010 - 08:13

Hola

.......... deberías experimentar con el código y entenderlo, .........

Saludos.

Entender un codigo de Seoane, cHacAll, escafandra y otros maestros????. :|
Eso si me gustaria verlo. *-)
Saludos
  • 0

#7 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 03 julio 2010 - 08:41

Con el debido respeto mantpro, ¿Te parece "original" querer pretender lucirse ante los otros cuando se demuestra a todas luces que no hiciste tu el código? No sólo darás una falsa y penosa visión sino que además pretenderás llevarte el crédito que se merece Seoane.

Es mucho más sincero y original demostrar algo con los conceptos aprendidos que aparentar ser algo que no eres. Llamarás la atención seguramente,... a todos los compañeros pero tu profesor te sorprenderá con una baja nota.

Si dices saber poco y nada, es mejor callarse y trabajar con lo poco y nada que se ha aprendido y enseñado. Después de todo es el objetivo de tu profesor: que pongan en práctica los conceptos vistos al momento.

Nadie nació aprendiendo, incluso Seoane. Se aprende leyendo, investigando, practicando... cometiendo errores, probando, y probando... corrigiendo y volviendo a cometir errores. La práctica, la constancia, el esfuerzo, y la dedicación e importancia que tu le des a la asignatura es lo que te hará sentir más orgulloso y victorioso. Por tus escritos pareciera ser que quieres optar por la salida fácil.
Es mucho más anímico para uno recibir un 10 por esfuerzo propio que del ajeno.

Te invito a meditar mejor tu accionar y comenzar en DelphiAccess de un mejor modo.

Saludos,
  • 0

#8 mantpro

mantpro

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 03 julio 2010 - 11:52

Con el debido respeto mantpro, ¿Te parece "original" querer pretender lucirse ante los otros cuando se demuestra a todas luces que no hiciste tu el código? No sólo darás una falsa y penosa visión sino que además pretenderás llevarte el crédito que se merece Seoane.

Es mucho más sincero y original demostrar algo con los conceptos aprendidos que aparentar ser algo que no eres. Llamarás la atención seguramente,... a todos los compañeros pero tu profesor te sorprenderá con una baja nota.

Si dices saber poco y nada, es mejor callarse y trabajar con lo poco y nada que se ha aprendido y enseñado. Después de todo es el objetivo de tu profesor: que pongan en práctica los conceptos vistos al momento.

Nadie nació aprendiendo, incluso Seoane. Se aprende leyendo, investigando, practicando... cometiendo errores, probando, y probando... corrigiendo y volviendo a cometir errores. La práctica, la constancia, el esfuerzo, y la dedicación e importancia que tu le des a la asignatura es lo que te hará sentir más orgulloso y victorioso. Por tus escritos pareciera ser que quieres optar por la salida fácil.
Es mucho más anímico para uno recibir un 10 por esfuerzo propio que del ajeno.

Te invito a meditar mejor tu accionar y comenzar en DelphiAccess de un mejor modo.

Saludos,


Me parece original la idea, por otra parte, ¿vos te crees que a mi me importan los creditos? :D .. no tendria ningun problema en darselos a Seoane o al que me ayudara si asi lo quisiera..  yo lo que quiero simplemente es hacerlo ¿o acaso vos naciste sabiendo todo y nunca le pediste ayuda o algo a alguien ?

Sinceramente me parece que viniste de una manera muy prepotente.. ¿no seria mejor que escriban los que quieren ayudar y en todo caso que ellos sean los que  citen o acoten?



  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 04 julio 2010 - 10:14

Me parece original la idea, por otra parte, ¿vos te crees que a mi me importan los creditos? :D .. no tendria ningun problema en darselos a Seoane o al que me ayudara si asi lo quisiera..  yo lo que quiero simplemente es hacerlo ¿o acaso vos naciste sabiendo todo y nunca le pediste ayuda o algo a alguien ?

Sinceramente me parece que viniste de una manera muy prepotente.. ¿no seria mejor que escriban los que quieren ayudar y en todo caso que ellos sean los que  citen o acoten?



No lo tomes a mal pero lo que creo debería importarte es en aprender y no de sólo acreditrar una materia, al final el único beneficiado eres tú, ni Delphius ni nadie del foro se benefica de ayudarte, así que tomatelo con calma.

Por cierto bienvenido a DelphiAccess.

Salud OS
  • 0

#10 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 04 julio 2010 - 12:05


Me parece original la idea, por otra parte, ¿vos te crees que a mi me importan los creditos? :D .. no tendria ningun problema en darselos a Seoane o al que me ayudara si asi lo quisiera..  yo lo que quiero simplemente es hacerlo ¿o acaso vos naciste sabiendo todo y nunca le pediste ayuda o algo a alguien ?

Sinceramente me parece que viniste de una manera muy prepotente.. ¿no seria mejor que escriban los que quieren ayudar y en todo caso que ellos sean los que  citen o acoten?


Mantpro, No vine con la idea de ser prepotente. Solamente expuse una verdad: impresionarás a tus compañeros y amigos, pero a tu profesor no. En impresionismo tendrás tu 10, pero a tu profesor eso no le gustará porque le resultará más que obvio que no ha sido obra original tuya. Simplemente aprovechas el fruto de alguien.

El objetivo de la cátedra es aprender y poner en práctica los conceptos. No hacer bromitas sin sentido y que no hacen al objetivo de la materia.
Como estudiante, alumno y profesional te digo que lo que buscas no te aportará nada útil. Te lo puedo asegurar.

Yo no he dicho que haya nacido sabiendo, es más he dicho que nadie nace sabiendo, incluso Seoane.

Yo también, a su debido momento, me senté a preguntar y evacuar mis dudas. Y lo sigo haciendo. La diferencia entre vos y yo está en el modo de pedir ayuda.
Tu modo es "¿me podrían hacer esto?", y la mía por otra parte es pedir consejos y sugerencias para luego fortalecer mis propias investigaciones. Me encanta leer, probar y aprender de libros, artículos, la ayuda mismo de Delphi, etc.

Yo no busco el 10, sino aprender.

Al menos yo hago un esfuerzo por instruirme. Tu por otra parte parece que te limitas a pedirnos que te solucionemos algo, que incluso es un tema bastante molesto e incómodo. Y te lo hemos dicho desde un comienzo.

Si te molesta mi modo de haber dicho algo sincero, que no va con el afán de perjudicarte sino de ofrecer un punto de vista más seguro y gratificante, entonces no te digo nada más, ojalá recibas la ayuda que quieras.

Como lo ha dicho Egostar, una cosa diferente es aprobar, otra muy diferente es aprender. Si deseas aprender aquí estaremos para asesorarte, pero esto sólo será posible si estás abierto a la posibilidad de recibir sugerencias (y sanas críticas).

Te podríamos ayudar en lo que nos permita nuestros conocimientos, pero con esa muestra de actitud de facilitarismo y burlesca lo dudo.

Bienvenido a DelphiAccess, espero que encuentres a este sitio una buena fuente de conocimiento. Que esto no te deje llevar una falsa impresión. Aquí se ayuda a la gente, y a pesar de que DA se caracteriza por un buen ritmo de humor se exige compromiso y dedicación por quien pregunta.

Saludos,
  • 0

#11 mantpro

mantpro

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 04 julio 2010 - 12:26


Me parece original la idea, por otra parte, ¿vos te crees que a mi me importan los creditos? :D .. no tendria ningun problema en darselos a Seoane o al que me ayudara si asi lo quisiera..  yo lo que quiero simplemente es hacerlo ¿o acaso vos naciste sabiendo todo y nunca le pediste ayuda o algo a alguien ?

Sinceramente me parece que viniste de una manera muy prepotente.. ¿no seria mejor que escriban los que quieren ayudar y en todo caso que ellos sean los que  citen o acoten?



No lo tomes a mal pero lo que creo debería importarte es en aprender y no de sólo acreditrar una materia, al final el único beneficiado eres tú, ni Delphius ni nadie del foro se benefica de ayudarte, así que tomatelo con calma.

Por cierto bienvenido a DelphiAccess.

Salud OS


No solo lo que quiero es aprobar tambien me interesa el solo hecho de saber hacerlo! pero no se como aprenderlo que sea de otra forma de la que ya pedi.. por el simple hecho que no se crear codigos Delphi  y no se si hay un tutorial para lo que yo busco.. por eso lo pedi de esta manera como vi en ClubDelphi que Seoane habia ayudado a un pibe y era casi lo mismo que lo que yo queria vine y pregunte.. ya que son pocas cosas lo que necesito segun mi parecer, le tendria que cambiar los valores de 2gb por 6gb que es lo que yo quiero poner..

Saludos.




Me parece original la idea, por otra parte, ¿vos te crees que a mi me importan los creditos? :D .. no tendria ningun problema en darselos a Seoane o al que me ayudara si asi lo quisiera..  yo lo que quiero simplemente es hacerlo ¿o acaso vos naciste sabiendo todo y nunca le pediste ayuda o algo a alguien ?

Sinceramente me parece que viniste de una manera muy prepotente.. ¿no seria mejor que escriban los que quieren ayudar y en todo caso que ellos sean los que  citen o acoten?


Mantpro, No vine con la idea de ser prepotente. Solamente expuse una verdad: impresionarás a tus compañeros y amigos, pero a tu profesor no. En impresionismo tendrás tu 10, pero a tu profesor eso no le gustará porque le resultará más que obvio que no ha sido obra original tuya. Simplemente aprovechas el fruto de alguien.

El objetivo de la cátedra es aprender y poner en práctica los conceptos. No hacer bromitas sin sentido y que no hacen al objetivo de la materia.
Como estudiante, alumno y profesional te digo que lo que buscas no te aportará nada útil. Te lo puedo asegurar.

Yo no he dicho que haya nacido sabiendo, es más he dicho que nadie nace sabiendo, incluso Seoane.

Yo también, a su debido momento, me senté a preguntar y evacuar mis dudas. Y lo sigo haciendo. La diferencia entre vos y yo está en el modo de pedir ayuda.
Tu modo es "¿me podrían hacer esto?", y la mía por otra parte es pedir consejos y sugerencias para luego fortalecer mis propias investigaciones. Me encanta leer, probar y aprender de libros, artículos, la ayuda mismo de Delphi, etc.

Yo no busco el 10, sino aprender.

Al menos yo hago un esfuerzo por instruirme. Tu por otra parte parece que te limitas a pedirnos que te solucionemos algo, que incluso es un tema bastante molesto e incómodo. Y te lo hemos dicho desde un comienzo.

Si te molesta mi modo de haber dicho algo sincero, que no va con el afán de perjudicarte sino de ofrecer un punto de vista más seguro y gratificante, entonces no te digo nada más, ojalá recibas la ayuda que quieras.

Como lo ha dicho Egostar, una cosa diferente es aprobar, otra muy diferente es aprender. Si deseas aprender aquí estaremos para asesorarte, pero esto sólo será posible si estás abierto a la posibilidad de recibir sugerencias (y sanas críticas).

Te podríamos ayudar en lo que nos permita nuestros conocimientos, pero con esa muestra de actitud de facilitarismo y burlesca lo dudo.

Bienvenido a DelphiAccess, espero que encuentres a este sitio una buena fuente de conocimiento. Que esto no te deje llevar una falsa impresión. Aquí se ayuda a la gente, y a pesar de que DA se caracteriza por un buen ritmo de humor se exige compromiso y dedicación por quien pregunta.

Saludos,


No solo lo que quiero es aprobar tambien me interesa el solo hecho de saber hacerlo! pero no se como aprenderlo que sea de otra forma de la que ya pedi.. por el simple hecho que no se crear codigos Delphi  y no se si hay un tutorial para lo que yo busco.. por eso lo pedi de esta manera como vi en ClubDelphi que Seoane habia ayudado a un pibe y era casi lo mismo que lo que yo queria vine y pregunte.. ya que son pocas cosas lo que necesito segun mi parecer, le tendria que cambiar los valores de 2gb por 6gb que es lo que yo quiero poner..
  • 0

#12 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 04 julio 2010 - 12:31

..... ya que son pocas cosas lo que necesito segun mi parecer, le tendria que cambiar los valores de 2gb por 6gb que es lo que yo quiero poner..


Yo probaría cambiando directamente el valor en la línea donde cambia 1GB a 2GB, intentalo y comentanos.

Salud OS
  • 0

#13 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 04 julio 2010 - 12:48

Yo creo que si bien los cambios son pocos, el asunto no es tan simple... el código de muestra corresponde a una dll  ;) . El asunto pasa en saber usar esa dll  ^o|

Hace tiempo que no veo ese hilo, incluso no recuerdo si participé de él. No se como andará CD pero al menos me sigue saltando las advertencias de sitio atacante. Puedo ignorar los avisos de advertencias pero no me deja llegar a ver los hilos y los mensajes. Sólo a los foros y ya me bloquea el acceso.

Yo no puedo ayudar. Lo siento.

Por otra parte, mantrpro si deseas embarcarte en Delphi (Huy.... me salió una aviso de publicidad de Embarcadero  :D ) te recomiendo la lectura del libro "La Cara Oculta de Delphi". Se puede descargar libremente (formato pdf) desde muchos sitios. Si bien los conceptos se exponen sobre Delphi 4, al día de hoy siguen vigentes. Poco han cambiado las cosas.

Saludos,
  • 0

#14 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 04 julio 2010 - 06:11

...tambien me interesa el solo hecho de saber hacerlo! pero no se como aprenderlo que sea de otra forma de la que ya pedi.. por el simple hecho que no se crear codigos Delphi...


Bueno, entonces supongo que puedes manejar otro lenguaje de programación. La ddl en cuestión esta basada en la API de Windows y casi nada de ese código es dependiente 100% de delphi, así que podrás migrarlo a tu lenguaje preferido. Pero si te empeñas en delphi, ¿como explicarás a tu profesor lo que has hecho en un entorno que no dominas?.

Si lo que quieres es aprender, comienza por estudiar lo que son el manejo de dlls, los Hooks de Windows, lo que es la función de tratamiento de mensajes de una ventana, lo que es un Window Subclassing y la API SetWindowLong. Cuando sepas y, sobre todo, entiendas todo eso estarás en disposición de empezar a poder comprender el código de seoane que expones, y entonces realmente estarás aprendiendo a hacer lo que pides u otras cosas basadas en ese conocimiento porque entenderás y dominarás los porqués.

Si sólo te interesa el producto terminado, confórmate con el código que ya tienes, cambia cuatro cosas..., pero no aprenderás nada de él.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.