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ú

Mensajes - rigorvzla

#71
muchisimas gracias, has respondido 2 preguntas mas de un  golpe como lo que era, que me de la lista de manera ordenada y la obtencion del id del proceso, grande pues!!! jeje.

Yo lo que hice para poder obtener lo que queria fue, extraer el proceso de los parentesis con un split jeje y asunto resuelto.

string = text "System.Diagnostics.Process (Proceso)"

de todos modos, gracias nuevamente ya que por estetica habia quedado cutre, y con tu explicacion podre hacerlo de una manera elegante y con mas detalle, ordenada y con el Id en caso de ser necesario mas adelante nuevamente gracias!!

Graciasa tambien por la ayuda de el metodo e segundo plano tambien lo resolvi de la siguiente manera asi como estan en tus codigos de ejemplo, solo que lo aplique a C#

[DllImport("user32.dll")]
                static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
                const UInt32 WM_KEYDOWN = 0x0100;
                const UInt32 WM_KEYUP = 0x0101;

[STAThread]
                public static void accionTecla(int tecla, string proceso)
                {
                    Process[] processes = Process.GetProcessesByName(proceso);
                    foreach (Process proc in processes)
                    {
                        PostMessage(proc.MainWindowHandle, WM_KEYDOWN, tecla, 0);
                        PostMessage(proc.MainWindowHandle, WM_KEYUP, tecla, 0);
                    }
                }

Sirvio de lo lindo, mas no se, por que en un textbox si digo que precione "a" me la preciona 2 veces... asumo por ambos WM_KEY  pero probe con solo el down y hay aplicaciones que deja la tecla marcada y no la suelta, cuando puse el up , walla!! asunto resuelto, y apesar que no me ha dado problemas , me gustaria saber si puedo solo mostrar unasola pulsasion de letra "a" .

Aparte pero del mismo tema, busque hacer combinaciones como "ctrl + 1" y se volvia loco apretando unos muuuuchas veces use el sentido comun pero.... como q falta algo mas jeje

 
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, tecla1, 0);
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, tecla2, 0);
PostMessage(proc.MainWindowHandle, WM_KEYUP, tecla2, 0);
PostMessage(proc.MainWindowHandle, WM_KEYUP, tecla1, 0);


Este ultimo codigo es referencial pero asi lo aplique bien hecho y pasa lo que mensione.
#72
gracis hombre!! es lo maximo y ademas busque informacion extra por que lei uno de tus post donde mucha MUCHISIMA infomracion existe en ingles solo que hay que saber poner las palabras correctas jeje ahi te eh citado . agradezdo de tu ayuda. como un extra , como podria obtener el nombre de un proceso seleccionado desde un listbox?


string = text "System.Diagnostics.Process (conhost)"
no me funciona sale el nombre completo de toda la using y entre parentecis el proceso jeje
#73
Hola Elektro en efecto uso este nugget
https://github.com/michaelnoonan/inputsimulator
muy practico y bueno, lo muestro en el codigo que deje anteriormente, mi no saber es como enviar por medio de ese nugget una pulsacion de tecla a una ventana NO activa, en el codigo anterior selecciono el proceso desde un listbox y envia la pulsacion a esa ventana (ejemplo notepad) todo va bien , lo malo es que la trae al frente o la vuelve activa y no quiero eso.

eh revisado este post que me dejaste
https://foro.elhacker.net/net/autologin_en_otra_aplicacion_c-t489446.0.html;msg2178786#msg2178786

CitarDe lo contrario, lo recomendable, y dado que el propósito sería evitar depender de que la ventana tenga activo el foco de entrada, sería utilizar la función nativa SendMessage (o PostMessage, según cómo lo quieras hacer) junto al mensaje de ventana WM_SETTEXT, logicamente antes de poder enviar el mensaje primero debes identificar la ventana (el control) al que le quieres enviar el mensaje (el texto a insertar). De nuevo no hace falta mencionar que tienes ejemplos (miles de ellos) en la WWW. Y si necesita enviar cualquier otra cosa que no sea texto, es decir, si lo que quieres es simular una tecla o una combinación de teclas, entonces debes usar el mensaje de ventana WM_KEYDOWN + WM_KEYUP (quizás también WM_SYSKEYDOWN + WM_SYSKEYDOWN, dependiendo de las teclas específicas que necesites simular). Repito, esta metodología no requiere tener activo el foco de entrada de la ventana objetivo.

esta parte no lo entendi muy bien, ya que no se usar mucho el Sendkey por eso me decidi con el inputsimulator.

En resumen, es posible enviar la accion a una ventana no activa una pulsacion de tecla con el inputSimulator? de ser afirmativo, como?

de lo contrario, como puedo lograr mi objetivo con el sendkey.
#74
hola amigos en este codigo, puedo enviar una orden a un proceso, el detalle esta en que me trae al frente ese proceso, y necesito que mande la orden pero deje la ventana en segundo plano o no ponerla como ventana activa

[DllImport("User32.dll")]
        static extern int SetForegroundWindow(IntPtr point);

Process p = (Process)listBox.SelectedItem;
                    if (p != null)
                    {
                        IntPtr h = p.MainWindowHandle;
                        SetForegroundWindow(h);
                        simuladorTeclas.Keyboard.KeyPress(VirtualKeyCode.VK_A);
                    }


con ese codigo, envio una pulsacion de tecla a la ventana selecionada en el listbox, y en efecto funciona, el detalle es que trae al frente la ventana de ese proceso, mi idea es que se mantenga en segundo plano y no se convierta en principal o ventana activa.
#75
hola de nuevo, luego de algo de tiempo estoy por aqui informando lo siguiente y esperando acesoria.

Resulta que ya tengo la entrada en el registro

  private const string MenuName01 = "7-Zip.7z\\shell\\Asistente Virtual AIRH";
            public const string Command01 = "7-Zip.7z\\shell\\Asistente Virtual AIRH\\command";

public static void cierreContextual()
            {
                try
                {
                    RegistryKey reg01 = Registry.ClassesRoot.OpenSubKey(Command01);
if (reg01 != null)
                    {
                        reg01.Close();
                        Registry.ClassesRoot.DeleteSubKey(Command01);
                    }
                    reg01 = Registry.ClassesRoot.OpenSubKey(MenuName01);
                    if (reg01 != null)
                    {
                        reg01.Close();
                        Registry.ClassesRoot.DeleteSubKey(MenuName01);
                    }
   }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.ToString());
                }
            }

public static void cargaContextual()
            {
                string ruta01 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Integro.exe /1");

//DEBERIA SER ASI PARA OBTENER LA RUTA
//string ruta01 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, //"Integro.exe %1");

  RegistryKey regmenu01 = null;
                RegistryKey regcmd01 = null;
try
                {
                    regmenu01 = Registry.ClassesRoot.CreateSubKey(MenuName01);
                    if (regmenu01 != null)
                        regmenu01.SetValue("", "AV-AIRH Descomprimir");
                    regcmd01 = Registry.ClassesRoot.CreateSubKey(Command01);
                    if (regcmd01 != null)
                        regcmd01.SetValue("", ruta01);
}
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.ToString());
                }
                finally
                {
                    if (regmenu01 != null)
                        regmenu01.Close();
                    if (regcmd01 != null)
                        regcmd01.Close();
                 }


Ya eso me da una opcion en el menu contextual de los archivos 7z
Lo que ahora sigue es lo siguiente, es la parte de ejecutar el metodo en el programa al que lo dirijo
Y lo tengo ya, quedando asi

static void Main(string[] args)
        {
            switch (args[0])
            {
                case "/1":
                    MessageBox.Show("Extraer");
                    extraccionArchivo(IRA LA RUTA OBTENIDA DESDE EL MENU
CONTEXTUAL);
                    break;
            }
        }

        private void extraccionArchivo(string nombreArchivo)
{
}


El problema esta en que no se como obtener la ruta del archivo seleccionado , a pesar que lei los textos que me dieron y es colocando el parametro %1 , no encuentro como pasar ese "valor obtenido" a una variable y colocarlo en este mentodo mensionado arriiba.

espero puedan ayuarme con esto, de antemano gracias.
#76
podrias ser mas explicito no entendi nada , porfavor disculpa
#77
Hola amigos, tengo un problema al cual no le eh encontrado solucion, poniendole este ejemplo espero puedan entenderme.

Cuando tenemos el WinRAR instalado, podemos hacer click derecho en cualquier archivo (lugar escritorio por ejemplo) , el cual nos desplega un menu cotextual con una serie de opciones, dentro las cuales esta la de ( extraer o descomprimir archivo , segun sea el caso) yo quiero saber como es posible lograr eso, siendo mas especifico, como es posible lograr obtener la ruta completa del archivo para realizar la accion en este caso ( comprimir o descomprimir archivo o carpeta).

Eh entendido anteriormente, que para crear una opcion o boton en el menucontextual es necesario crear una entrada en el registro del windows, cosa ya explicada en el ultimo tema en el cual me asistieron de manera excelente.
Y de momento es un tema ya entendido.

Normalmente uno obtiene la ruta de el archivo o carpeta con un openfiledialog o un browserdialog, el cual nos despliega un menu y es ahi donde seleccionamos el archivo o carpeteta, luego disponer de esa ruta, en mi caso eso no es lo que necesito, en mi caso, necesito obtener la ruta de manera automatica , asi como lo hace el winrar cuando uno selecciona el archivo a comprimir (menu que aparece en el menu contextual al hacer click derecho).

Espero puedan entender mi pregunta y ayudarme feliz dia.
#78
Como siempre dando en el clavo! Muchas gracias por la explicacion me ayudo y sirvio de manera exitosa.
#79
Hola a todos amigos, hoy tengo un problema que no enceuntro nada claro  para solventarlo, tengo un listbox en el cual agrego datos, me gustaria que esa lista de nombres, pueda guardarla en una settings para poder cargarlos de nuevo al iniciar el programa , pero no se como hacerlo, quizas sea algo sencillo y espero puedan ayudarme.
#80
[NEW]Net Ghost v.2.0- Fresh Proxy Scraper & Checker

FEATURES ? Get more than 30,000 new proxies. ? All proxy sources are updated several times a day.

? Proxist export in IP: port format. ? No duplicates - guaranteed. ? Scrape off almost ANY proxy site (even HMA).

? Built-in Proxy Checker. ? Automatic updater: new sources are added every week and the program will update automatically


Net Ghost is the ultimate free solution for all your proxy needs.

If you are looking for a free, simple and easy-to-use program that provides thousands of proxies at the click of a button

and also allow you to see them,

Net Ghost is exactly what you are looking for.

[youtube=640,360]https://youtu.be/8dDU5_z3Mvk[/youtube]

To use the tools must run as admin


Direct Download link 


https://void.cat/b89a999b1853720ff049ca4eaf5b9ea218eb0ab0


https://www.upload.ee/files/8913963/_Cracked__Net_Ghost_v.2.0_Fresh_Proxy_Scraper___Checker.rar.html