elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  VB.NET Overlay in Games Full Screen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: VB.NET Overlay in Games Full Screen  (Leído 7,311 veces)
**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
VB.NET Overlay in Games Full Screen
« en: 22 Octubre 2018, 16:27 pm »

Hola, Bueno mi duda es como haría yo para Sobreponer Un formulario encima de un juego Direcx En pantalla Completa, El compañero @Elektro lo logro con la api de SharpDX, Bueno yo he logrado casi lo mismo pero Con una api Direxc , he logrado hasta ahora sobreponer texto y dibujar en juegos en pantalla completa que usan direcx 9 ,  Ya puedo Simplemente dibujar un menu d3d y listo creo las funciones y hago un hack, pero no logro ni tengo idea de como sobreponer el Formulario. Necesito ayuda en eso.

La api que estoy usando :

DX9-Overlay-API

Documentación



Bueno y como siempre, yo no planteo nada sin algo de codigo :

Wrapper :

DX9Overlay.vb --- Clase


Código
  1. Imports System
  2. Imports System.Runtime.InteropServices
  3.  
  4. Namespace DX9OverlayAPI
  5.    Class DX9Overlay
  6.        Public Const PATH As String = "dx9_overlay.dll"
  7.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  8.        Public Shared Function TextCreate(ByVal font As String, ByVal fontSize As Integer, ByVal bBold As Boolean, ByVal bItalic As Boolean, ByVal x As Integer, ByVal y As Integer, ByVal color As UInteger, ByVal text As String, ByVal bShadow As Boolean, ByVal bShow As Boolean) As Integer
  9.        End Function
  10.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl, CharSet:=CharSet.Unicode)>
  11.        Public Shared Function TextCreateUnicode(ByVal font As String, ByVal fontSize As Integer, ByVal bBold As Boolean, ByVal bItalic As Boolean, ByVal x As Integer, ByVal y As Integer, ByVal color As UInteger, ByVal text As String, ByVal bShadow As Boolean, ByVal bShow As Boolean) As Integer
  12.        End Function
  13.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  14.        Public Shared Function TextDestroy(ByVal id As Integer) As Integer
  15.        End Function
  16.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  17.        Public Shared Function TextSetShadow(ByVal id As Integer, ByVal b As Boolean) As Integer
  18.        End Function
  19.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  20.        Public Shared Function TextSetShown(ByVal id As Integer, ByVal b As Boolean) As Integer
  21.        End Function
  22.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  23.        Public Shared Function TextSetColor(ByVal id As Integer, ByVal color As UInteger) As Integer
  24.        End Function
  25.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  26.        Public Shared Function TextSetPos(ByVal id As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
  27.        End Function
  28.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  29.        Public Shared Function TextSetString(ByVal id As Integer, ByVal str As String) As Integer
  30.        End Function
  31.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl, CharSet:=CharSet.Unicode)>
  32.        Public Shared Function TextSetStringUnicode(ByVal id As Integer, ByVal str As String) As Integer
  33.        End Function
  34.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  35.        Public Shared Function TextUpdate(ByVal id As Integer, ByVal font As String, ByVal fontSize As Integer, ByVal bBold As Boolean, ByVal bItalic As Boolean) As Integer
  36.        End Function
  37.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl, CharSet:=CharSet.Unicode)>
  38.        Public Shared Function TextUpdateUnicode(ByVal id As Integer, ByVal font As String, ByVal fontSize As Integer, ByVal bBold As Boolean, ByVal bItalic As Boolean) As Integer
  39.        End Function
  40.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  41.        Public Shared Function BoxCreate(ByVal x As Integer, ByVal y As Integer, ByVal w As Integer, ByVal h As Integer, ByVal dwColor As UInteger, ByVal bShow As Boolean) As Integer
  42.        End Function
  43.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  44.        Public Shared Function BoxDestroy(ByVal id As Integer) As Integer
  45.        End Function
  46.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  47.        Public Shared Function BoxSetShown(ByVal id As Integer, ByVal bShown As Boolean) As Integer
  48.        End Function
  49.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  50.        Public Shared Function BoxSetBorder(ByVal id As Integer, ByVal height As Integer, ByVal bShown As Boolean) As Integer
  51.        End Function
  52.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  53.        Public Shared Function BoxSetBorderColor(ByVal id As Integer, ByVal dwColor As UInteger) As Integer
  54.        End Function
  55.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  56.        Public Shared Function BoxSetColor(ByVal id As Integer, ByVal dwColor As UInteger) As Integer
  57.        End Function
  58.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  59.        Public Shared Function BoxSetHeight(ByVal id As Integer, ByVal height As Integer) As Integer
  60.        End Function
  61.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  62.        Public Shared Function BoxSetPos(ByVal id As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
  63.        End Function
  64.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  65.        Public Shared Function BoxSetWidth(ByVal id As Integer, ByVal width As Integer) As Integer
  66.        End Function
  67.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  68.        Public Shared Function LineCreate(ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer, ByVal width As Integer, ByVal color As UInteger, ByVal bShow As Boolean) As Integer
  69.        End Function
  70.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  71.        Public Shared Function LineDestroy(ByVal id As Integer) As Integer
  72.        End Function
  73.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  74.        Public Shared Function LineSetShown(ByVal id As Integer, ByVal bShown As Boolean) As Integer
  75.        End Function
  76.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  77.        Public Shared Function LineSetColor(ByVal id As Integer, ByVal color As UInteger) As Integer
  78.        End Function
  79.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  80.        Public Shared Function LineSetWidth(ByVal id As Integer, ByVal width As Integer) As Integer
  81.        End Function
  82.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  83.        Public Shared Function LineSetPos(ByVal id As Integer, ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer) As Integer
  84.        End Function
  85.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  86.        Public Shared Function ImageCreate(ByVal path As String, ByVal x As Integer, ByVal y As Integer, ByVal rotation As Integer, ByVal align As Integer, ByVal bShow As Boolean) As Integer
  87.        End Function
  88.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  89.        Public Shared Function ImageDestroy(ByVal id As Integer) As Integer
  90.        End Function
  91.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  92.        Public Shared Function ImageSetShown(ByVal id As Integer, ByVal bShown As Boolean) As Integer
  93.        End Function
  94.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  95.        Public Shared Function ImageSetAlign(ByVal id As Integer, ByVal align As Integer) As Integer
  96.        End Function
  97.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  98.        Public Shared Function ImageSetPos(ByVal id As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
  99.        End Function
  100.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  101.        Public Shared Function ImageSetRotation(ByVal id As Integer, ByVal rotation As Integer) As Integer
  102.        End Function
  103.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  104.        Public Shared Function DestroyAllVisual() As Integer
  105.        End Function
  106.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  107.        Public Shared Function ShowAllVisual() As Integer
  108.        End Function
  109.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  110.        Public Shared Function HideAllVisual() As Integer
  111.        End Function
  112.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  113.        Public Shared Function GetFrameRate() As Integer
  114.        End Function
  115.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  116.        Public Shared Function GetScreenSpecs(<Out> ByRef width As Integer, <Out> ByRef height As Integer) As Integer
  117.        End Function
  118.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  119.        Public Shared Function SetCalculationRatio(ByVal width As Integer, ByVal height As Integer) As Integer
  120.        End Function
  121.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  122.        Public Shared Function SetOverlayPriority(ByVal id As Integer, ByVal priority As Integer) As Integer
  123.        End Function
  124.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  125.        Public Shared Function Init() As Integer
  126.        End Function
  127.        <DllImport(PATH, CallingConvention:=CallingConvention.Cdecl)>
  128.        Public Shared Sub SetParam(ByVal _szParamName As String, ByVal _szParamValue As String)
  129.        End Sub
  130.    End Class
  131. End Namespace
  132.  

En el Form1, Un ejemplo de como Dibujar texto, Cuadro o linea :

Código
  1. Imports System
  2. Imports DX9OverlayAPI
  3.  
  4. Public Class Form1
  5.  
  6.    Shared overlayText As Integer = -1
  7.    Shared overlayBox As Integer = -1
  8.    Shared overlayLine As Integer = -1
  9.  
  10.    Private Sub texto()
  11.        DX9Overlay.SetParam("process", "hl2.exe")
  12.        DX9Overlay.DestroyAllVisual()
  13.        overlayText = DX9Overlay.TextCreateUnicode("Arial", 12, False, False, 200, 200, 4278255615, "Hello world!", True, True)
  14.    End Sub
  15.  
  16.    Private Sub linea()
  17.        DX9Overlay.SetParam("process", "hl2.exe")
  18.        DX9Overlay.DestroyAllVisual()
  19.        overlayLine = DX9Overlay.LineCreate(0, 0, 300, 300, 5, 4294967295, True)
  20.    End Sub
  21.  
  22.    Private Sub caja()
  23.        DX9Overlay.SetParam("process", "hl2.exe")
  24.        DX9Overlay.DestroyAllVisual()
  25.        overlayBox = DX9Overlay.BoxCreate(200, 200, 100, 100, 1358889215, True)
  26.    End Sub
  27.  
  28.    Private Sub eliminarTodo()
  29.        DX9Overlay.TextDestroy(overlayText)
  30.        DX9Overlay.BoxDestroy(overlayBox)
  31.        DX9Overlay.LineDestroy(overlayLine)
  32.    End Sub
  33.  
  34. End Class




Y bueno la .DLL no la agregan a referencias, solo la colocan en donde esta su .exe . osea en la carpeta .\bin\Debug\  DLL

Gracias de antemano, solo quiero superponer el Formulario no dibujar y no se como hacer eso.


PD : @Elektro Pasaste de Mod. Global a Colaborador? como @Shell Root? Colaborador no es un rango menor al q tenias? , que paso? tu eres el que mas ayuda al foro y te bajan de rango. están bien pendejos.



« Última modificación: 22 Octubre 2018, 17:09 pm por **Aincrad** » En línea



Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: VB.NET Overlay in Games Full Screen
« Respuesta #1 en: 21 Noviembre 2018, 03:56 am »

PD : @Elektro Pasaste de Mod. Global a Colaborador? como @Shell Root? Colaborador no es un rango menor al q tenias? , que paso? tu eres el que mas ayuda al foro y te bajan de rango.

están bien pendejos.


( Si lo dice Spidey, es cierto. )

Pues así ha sido, tuve que soportar tonterías de chiquillos que se creen reyes del mambo, bueno, de un único chiquillo en particular, no culpo a nadie más. Abuso de autoridad y totalitarismo al estilo Pedro Sanchez (el presidente de España), y esas cosas, el pan de cada día en esta sociedad putrefacta en la que vivimos, la cual afecta a todos los rincones del planeta incluyendo esta querida comunidad de elhacker.net... nada ni nadie se salva de acabar propagando su granito de contaminación y toxicidad a los demás... (de hecho, incluso sin querer hacerlo creo que lo acabo de hacer yo también xD)

Ah, si, lo que yo quería comentar a este tema era...: ¿por qué no usaste SharpDX?, es un wrapper de DirectX, lo mejorcito que hay para .NET. Yo no tuve problema para superponer/dibujar un Form sobre la superficie de un video juego en pantalla completa. Si no recuerdo mal te mostré el código al completo (creo que si, ¿no?), ¿que ocurrió pues?, ¿no lo supiste adaptar para tus propósitos?, ¿no te sirvió?.

Saludos!


« Última modificación: 21 Noviembre 2018, 04:46 am por Eleкtro (sin pilas) » En línea



**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: VB.NET Overlay in Games Full Screen
« Respuesta #2 en: 21 Noviembre 2018, 05:10 am »

Ah, si, lo que yo quería comentar a este tema era...: ¿por qué no usaste SharpDX?, es un wrapper de DirectX, lo mejorcito que hay para .NET. Yo no tuve problema para superponer/dibujar un Form sobre la superficie de un video juego en pantalla completa. Si no recuerdo mal te mostré el código al completo (creo que si, ¿no?), ¿que ocurrió pues?, ¿no lo supiste adaptar para tus propósitos?, ¿no te sirvió?.

Saludos!



Bueno lo único que me mostraste fue el vídeo de como funcionaba y no se ve claramente el código.

Estuve Investigando mucho sobre este asunto y es mas complicado de lo que parece, se supone que los juegos Direcx "Secuestran" por así decirlo el monitor y para poder dibujar/ Sobreponer necesitas usar la api de direcx (D3D9.DLL) o En su equivalente usar SharpDX un wrapper de Direcx , Después de eso tengo que conectar con la Función de Direcx Edn Scene para poder Dibujar sobre la pantalla.


Al hacer esta Investigación en la cual dure mas de 2 semanas, me he dado cuenta que nadien ha podido lograr lo que tu hiciste en vb.net (Sobreponer Un formulario con controles).


ese es otro problema, el Sobreponer Controles / Objetos COM .  en pocas palabras :,v ya me he rendido con esto, Incluso mi ultimo hack no lo complete por esto mismo.

Logre hacer un Overlay decente, sin retraso, con seguimiento de ventana, etc .. pero el problemas es ese de no poder sobreponer el formulario sobre el juego en pantalla completa.











En línea



Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: VB.NET Overlay in Games Full Screen
« Respuesta #3 en: 21 Noviembre 2018, 16:35 pm »

A ver, es que si está en pantalla completa, el foco se centra exclusivamente sobre el hDC que tiene el foco...

Se me ocurre, que lo cambies para que no esté en pantalla completa (SetWindowLong, con el estilo apropiado), y que aún así se baje la barra de herramientas (la systray) y la ventana con solo un 2 píxeles menos de ancho y alto que el escritorio... así no está en pantalla completa, pero lo parece y por tanto tolera otra ventana sin exclusividad.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: VB.NET Overlay in Games Full Screen
« Respuesta #4 en: 21 Noviembre 2018, 19:06 pm »


Estuve Investigando mucho sobre este asunto y es mas complicado de lo que parece, se supone que los juegos Direcx "Secuestran" por así decirlo el monitor y para poder dibujar/ Sobreponer necesitas usar la api de direcx (D3D9.DLL) o En su equivalente usar SharpDX un wrapper de Direcx , Después de eso tengo que conectar con la Función de Direcx Edn Scene para poder Dibujar sobre la pantalla.

Solo conozco el modo de empleo de las librerías de DirectX en el nivel de abstracción que provee SharpDX. Sobre el funcionamiento "interno" por así decirlo (las llamadas realizadas a funciones de la API de Direct-3D, 2D, DXGI y etc. ) no tengo ni pajolera idea. No soy desarrollador de videojuegos ni de HUDs/Cheats/Trainers/LoQueSea.

Citar
Al hacer esta Investigación en la cual dure mas de 2 semanas, me he dado cuenta que nadien ha podido lograr lo que tu hiciste en vb.net (Sobreponer Un formulario con controles).

Te has equivocado. Lo que viste en aquél video que te mostré era el juego ARK, en modo pantalla completa sin bordes.

Yo tampoco lo logré hacer en pantalla completa "real" y también me pasé semanas investigando y preguntando a profesionales, para ser más específico incluso le llegué a preguntar al creador del HUD 'TurboHUD' para Diablo 3 ( @KillerJhon: https://www.ownedcore.com/forums/diablo-3/turbohud/ ), quien me orientó un poco con el uso básico de SharpDX y aparte me dijo que NO era posible renderizar el Form en pantalla completa "real". Y si lo dice alguien como él, pues será por algo.

Y es que por lo que he llegado a ver no en pocas ocasiones, suele ser un requisito de lo más común que la ventana del juego esté en modo a pantalla completa pero sin bordes (full-screen borderless) para que el HUD/cheto funcione bien, para que se pueda renderizar, ya que la mayoría de HUDs/chetos hoy en día no pueden funcionar a pantalla completa "real".

No se por que motivo ellos, los profesionales, no pueden lograrlo, lo que si se que el modo pantalla completa "real" es un modo exclusivo donde la GPU "toma el control" por así decirlo y se encarga directamente del renderizado; supongo que habría que dibujar directamente en el buffer de la GPU, y supongo que esto es lo que resultará tan complicado, no lo se a ciencia cierta, solo es una hipótesis sin mucho fundamento. No se exactamente como funciona, pero se que es complicado cuando los profesionales tampoco lo pueden lograr, o quizás si que sepan como hacerlo pero prefieren no hacerlo por el costoso trabajo que implicaría.

Sin embargo, yo creo que si que se debe poder hacer, puesto que hace años he jugado a juegos en pantalla completa "real" con HUDs, sin ir más lejos el Counter-Strike.

Un saludo.
« Última modificación: 21 Noviembre 2018, 19:08 pm por Eleкtro (sin pilas) » En línea



**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: VB.NET Overlay in Games Full Screen
« Respuesta #5 en: 23 Noviembre 2018, 01:44 am »

He encontrado una solución a este problema para los Counter Strike. (no lo he probado en el Global Offensive) por mi pc kk.

Bueno como mencione antes Los juegos Direcx "Secuestran" (literalmente) la pantalla, pero me había olvidado que Counter Strike posee la opción de cambiar de Direcx a OpenGL.

Bueno solo cambian en Opciones de Video , ponen el usar OpenGL, y si sirve, lo malo es que al presionar la tecla designada para aparecer el hack en mi caso "Insert" el juego se minimiza, pero eso lo puedo solucionar. XD



Me Imagino que este método funcionara para todos los juegos que puedan usar OpenGL.


Respuestas:

P:  Hey pero da mucha flojera y a cambiar la configuraciones del juego.

R: Muchos Juegos tienen argumentos comand-line que puedes usar en tu launcher. Por ejemplo Counter Strike Source Y EL 1.6 :

Puedes usar el argumento : -gl y el juego iniciara con OpenGL

Aunque la Idea Principal es lograrlo poner arriba de un juego direcx esto es complicado. y no muchos lo han logrado. (Creo que nadien  :silbar: )



Imagen:





En línea



BloodSharp


Desconectado Desconectado

Mensajes: 812


¡ Hiperfoco !


Ver Perfil WWW
Re: VB.NET Overlay in Games Full Screen
« Respuesta #6 en: 23 Noviembre 2018, 02:30 am »

Aunque la Idea Principal es lograrlo poner arriba de un juego direcx esto es complicado. y no muchos lo han logrado. (Creo que nadien  :silbar: )

Yo no te recomendaría trabajar de esa manera externa :P (al menos para empezar a hackear un juego), calculo que estarás usando las versiones piratas por este comentario:

Counter Strike posee la opción de cambiar de Direcx a OpenGL.

...según recuerdo las últimas versiones de steam no vienen más con el dx antiguo.

Bueno solo cambian en Opciones de Video , ponen el usar OpenGL, y si sirve, lo malo es que al presionar la tecla designada para aparecer el hack en mi caso "Insert" el juego se minimiza, pero eso lo puedo solucionar. XD

Yo te recomiendo crear una dll e inyectarla sobre el proceso y hookear DX/OGL según sea el caso trabajando de manera interna en el juego, por otro lado si vás a la larga a utilizar el juego original con VAC y o trucho con algún anticheat de tercero, te recomiendo buscar info acerca de ese anticheat primero, aparte de analizarlo por cuenta propia que suma mucha más experiencia...

Esto es hookeando DX9 en el csgo:



y esto es hookeando OpenGL en el cs 1.6:




B#
« Última modificación: 23 Noviembre 2018, 02:35 am por BloodSharp » En línea



**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: VB.NET Overlay in Games Full Screen
« Respuesta #7 en: 23 Noviembre 2018, 02:40 am »

Primero Gracias por tu respuesta, Bueno creo que no has leído de que trata este tema, lo que estoy tratando de hacer es  Mostrar un Formulario con controles (Objetos COM) encima de un juego direcx .

El cianosfera hack tengo entendido que funciona dibujando sobre el juego usando direcx y tambien IMGUI o Eso me dijeron cuando pregunte en el foro unknowncheats la verdad no estoy seguro . (https://github.com/ocornut/imgui) y de paso conecta con End Scene, eso es lo que yo podría hacer, pero el desafió aquí es mostrar un form encima del juego.

« Última modificación: 23 Noviembre 2018, 02:48 am por **Aincrad** » En línea



BloodSharp


Desconectado Desconectado

Mensajes: 812


¡ Hiperfoco !


Ver Perfil WWW
Re: VB.NET Overlay in Games Full Screen
« Respuesta #8 en: 23 Noviembre 2018, 02:51 am »

El cianosfera hack tengo entendido que funciona dibujando sobre el juego usando direcx y tambien IMGUI (https://github.com/ocornut/imgui) y de paso conecta con End Scene, eso es lo que yo podría hacer, pero el desafió aquí es mostrar un form encima del juego.

Exacto hookeo EndScene, Reset (para prevenir que se rompa el juego) y el WndProc para el teclado/mouse (para la versión de OpenGL tuve que crear un backend de WINAPI+OpenGL desde cero), aunque también tenía pensado para el csgo implementar una gui desde cero al final...

Mmm, ¿probaste con la propiedad TopMost?


B#
« Última modificación: 23 Noviembre 2018, 02:53 am por BloodSharp » En línea



**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: VB.NET Overlay in Games Full Screen
« Respuesta #9 en: 23 Noviembre 2018, 03:02 am »

Exacto hookeo EndScene, Reset (para prevenir que se rompa el juego) y el WndProc para el teclado/mouse (para la versión de OpenGL tuve que crear un backend de WINAPI+OpenGL desde cero), aunque también tenía pensado para el csgo implementar una gui desde cero al final...

Mmm, ¿probaste con la propiedad TopMost?


B#

Si, pero la verdad nada sirve, tu dibujas sobre el juego ?? , como le haces??
En línea



Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PCTV Overlay/RGB
Multimedia
aaron_palomino 0 1,850 Último mensaje 8 Junio 2004, 05:13 am
por aaron_palomino
UPolyX v0.5 [Overlay] *
Ingeniería Inversa
v1toko 4 5,838 Último mensaje 25 Noviembre 2006, 02:33 am
por pERICOTE
Games → 1000 Games Volume 3
Juegos y Consolas
schiavi13 5 6,483 Último mensaje 16 Enero 2010, 00:15 am
por Alamasy
Error al hacer un programa en Full Screen mode
Java
-Localhost- 6 3,764 Último mensaje 31 Julio 2010, 20:29 pm
por Leyer
Como hacer que inicie aplicación en full screen en el siguiente código.cfg
Software
Xwatmin 2 2,256 Último mensaje 20 Marzo 2013, 18:28 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines