C# 사용자 정의 파일 아이콘을 두 번 클릭하여 시작(레지스트리 수정)
이런 파일은 어떻게 바로 열기 프로그램을 시작하여 이 파일을 열 수 있습니까
1、더블 클릭하여 열기
2. 사용자 정의 파일, 아이콘 표시
3. 사용자 정의 파일, 오른쪽 단추를 누르면 해당 속성이 있습니다
백엔드 코드: (등록표에서 정보를 수정하는 방법)
//
string toolPath = System.Windows.Forms.Application.StartupPath + "\\ .exe";
string extension = SptdConst.FileExtension;
string fileType = "Email File";
string fileContent = "text/plain";
//
Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(extension);
if (registryKey != null && registryKey.OpenSubKey("shell") != null && registryKey.OpenSubKey("shell").OpenSubKey("open") != null &&
registryKey.OpenSubKey("shell").OpenSubKey("open").OpenSubKey("command") != null)
{
var varSub = registryKey.OpenSubKey("shell").OpenSubKey("open").OpenSubKey("command");
var varValue = varSub.GetValue("");
if (Object.Equals(varValue, toolPath + " %1"))
{
return;
}
}
//
Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(extension, false);
//
registryKey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(extension);
registryKey.SetValue(" ", fileType);
registryKey.SetValue("Content Type", fileContent);
//
Microsoft.Win32.RegistryKey iconKey = registryKey.CreateSubKey("DefaultIcon");
iconKey.SetValue("", System.Windows.Forms.Application.StartupPath + "\\logo.ico");
//
registryKey = registryKey.CreateSubKey("shell\\open\\command");
registryKey.SetValue("", toolPath + " %1");
//
registryKey.Close();
등록표 정보를 수정한 후 파일을 두 번 클릭하면 소프트웨어가 시작되는데 코드에서 어떻게 조작합니까?
//
// ,
if (e.Args.Length > 0)
{
string filePath = String.Join(" ", e.Args.ToArray());
FileInfo file = new FileInfo(filePath);
if (file.Exists)
{
EmailToolConst.DoubleClickSptdFilePath = file.FullName;
}
}
그리고 메인 프로그램loaded 방법에서 DoubleClickSptdFilePath에 값이 있는지 판단할 수 있으며, 만약 있다면 경로 아래의 파일을 가져와 계속 조작할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.