Я сделав загрузчик изображений (загрузить изображение на хостинг изображений сайта) и у меня возникают некоторые проблемы, передавая аргумент (расположение изображения к уже запущенному приложению)передать аргументы запущенного приложения
- Прежде всего допустим, MyApp.exe всегда работает
- Когда бы я не щелкнул правой кнопкой мыши по изображению, я добавил элемент в контекстном меню Windows по умолчанию, в котором говорится «Загрузить изображение».
- Когда это нажало, ему необходимо передать местоположение уже запущенному приложению.
Мои 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());
}
}
}
Обратите внимание, что класс ControlPanel не имеет видимую форму, только иконка в трее присутствует, так как форма не требуется.
Могу ли я получить помощь по тому, как это сделать?
Кенни, спасибо за сообщение. Это мне очень помогло. Есть ли способ ссылки на форму (ваш ControlPanel) в методе NewInstanceHandler? Я знаю, что вы ссылаетесь на метод uploadImage в ControlPanel, но это статический метод. Но мне нужно ссылаться на нестатические методы. Pls дайте мне знать – Dave