estoy haciendo un cargador de imágenes (carga de imágenes a la imagen de alojamiento de sitios web) y estoy teniendo algunos problemas que pasan un argumento (ubicación de la imagen a una aplicación ya se está ejecutando)argumentos Pass a la ejecución de la aplicación
- En primer lugar digamos que MyApp.exe siempre se está ejecutando
- Cada vez que hago clic derecho en una imagen, agregué un elemento en el menú contextual predeterminado de Windows que dice "Cargar imagen".
- Cuando se hace clic en él, necesita pasar la ubicación a la aplicación en ejecución.
Mis Program.cs:
static class Program
{
[DllImport("user32.dll")]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, UIntPtr
wParam, IntPtr lParam);
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern uint RegisterWindowMessage(string lpString);
[STAThread]
static void Main(params string[] Arguments)
{
if (Arguments.Length > 0)
{
//This means that the the upload item in the context menu is clicked
//Here the method "uploadImage(string location)"
//of the running application must be ran
}
else
{
//just start the application
Application.Run(new ControlPanel());
}
}
}
Tenga en cuenta que la clase ControlPanel no tiene una forma visible, solamente un icono de la bandeja está presente, ya que no se necesita una forma.
¿Podría obtener ayuda sobre cómo hacer esto?
Kenny, gracias por la publicación. Me ayudó mucho. ¿Hay alguna forma de referenciar el Formulario (su ControlPanel) en el método NewInstanceHandler? Sé que está haciendo referencia al método "uploadImage" en ControlPanel, pero ese es un método estático. Pero necesito hacer referencia a los métodos no estáticos. Por favor, hágamelo saber – Dave