2010-04-22 13 views
7

Quiero abrir archivos, que son doble clic en el Explorador, en la misma instancia de mi aplicación .Net, p. en una nueva pestaña ¿Cómo puedo hacer esto?Cómo abrir archivos asociados en la misma instancia de una aplicación

Por ahora cada archivo inicia una nueva instancia de mi aplicación. Muchos programas pueden abrir archivos en la misma instancia, por ejemplo, Opera y Notepad ++, por lo que hay una manera fácil y segura.

Respuesta

3

Puede echar un vistazo a this post que ilustra una técnica que podría usarse para tener una aplicación WinForms de instancia única.

1

Puede ser una forma más fácil de hacerlo, pero la forma en que lo he hecho es que si una instancia se inicia con un nombre de archivo como parámetro, entonces verifica si hay otras instancias y, de ser así, pasa el nombre de archivo a esa instancia y la cierra a sí misma.

0

Ejemplo utilizando TCP cuencas: TCPListener http://pieterjan.pro/?a=Projecten_csharp_DrawIt.php

  1. inicio en el formulario
  2. conectar TCPClient en el principal de la segunda instancia
  3. Enviar ActivationArguments a través de la conexión TCP-a la forma

Obras para múltiples archivos a la vez, así, e incluso para múltiples archivos en el primer tiempo (cuando la aplicación no se ha iniciado todavía)

Los bloques de código más importantes son:

  1. El constructor de MainForm (Hoofdscherm) donde se inicia el servidor y el número de puerto se escribe en un archivo. El primer archivo se abre también.
  2. La principal función (Program.cs) donde el segundo, tercero, ... ejemplo se conecta a la TcpListener en primera instancia y envía el nombre de archivo a través de la toma de
  3. código

La fuente está disponible en el botón "Broncode"

Cuestiones relacionadas