Передача пути к файлу через приложение запуска протокола URI - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть протокол URI, настроенный так

Key Name:          HKEY_CLASSES_ROOT\testap
Class Name:        <NO CLASS>
Last Write Time:   31/10/2018 - 11:32 AM
Value 0
  Name:            URL protocol
  Type:            REG_SZ
  Data:            

Key Name:          HKEY_CLASSES_ROOT\testap\shell
Class Name:        <NO CLASS>
Last Write Time:   31/10/2018 - 11:27 AM

Key Name:          HKEY_CLASSES_ROOT\testap\shell\open
Class Name:        <NO CLASS>
Last Write Time:   31/10/2018 - 11:27 AM

Key Name:          HKEY_CLASSES_ROOT\testap\shell\open\command
Class Name:        <NO CLASS>
Last Write Time:   31/10/2018 - 11:37 AM
Value 0
  Name:            <NO NAME>
  Type:            REG_SZ
  Data:            "E:\MyApp.exe" "%1"

Я хочу передать путь к файлу, как этот "E:\ShortHelp_English.pdf"

Когда я бегу testap:E:/ShortHelp_English.pdf

Мое приложение возвращает ошибку, подобную этой

enter image description here

Может кто-нибудь показать мне правильный путь передачи моего файла пути к приложению?

1 Ответ

0 голосов
/ 01 ноября 2018

Не уверен, что это является причиной вашей проблемы, но имейте в виду, что полный URL (включая схему) передается вашему приложению:

testap: E: /ShortHelp_English.pdf

Так что вы можете захотеть сделать что-то вроде

if (path.StartsWith("testapp:")) {
    path = path.Substring(8);
}

или

path = new Uri(path).AbsolutePath;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...