사용자가 연 파일을 추적하고 하나의 특정 확장명으로 파일을 선택하려고합니다. 열린 파일에 해당 확장명이 있으면 추가 처리를 위해 파일 경로를 변수에 할당하려고합니다. 예제 응용 프로그램은 매우 많은 CPU를 요구합니다. 그렇게하기위한 쉽고 효율적인 방법이 있습니까?특정 확장명의 파일 추적
답변
파일 -> 열린 이벤트 (네트워크 드라이브, 썸 드라이브 등)를 시스템 전체에서 모니터링하려면 FS 필터 드라이버를 작성해야합니다.
컴퓨터에 액세스 할 수 있고 시스템 전체에 액세스해야하는 경우 Powerpoint 확장명과 연결된 간단한 응용 프로그램을 작성하고 복사 한 다음 파일 경로를 명령 줄로 사용하여 Powerpoint를 열 수 있습니다 논의. 다음과 유사하게 보입니다.
using System;
using System.Windows;
using System.Diagnostics;
using System.IO;
namespace WpfApplication1
{
internal class MainWindow : Window
{
public MainWindow()
{ }
[STAThread()]
static void Main(string[] args)
{
if (args.Length == 0)
{
// [ show error or print usage ]
return;
}
if (!File.Exists(args[0]))
{
// [ show error or print usage ]
return;
}
// Perform the copy
FileInfo target = new FileInfo(args[0]);
string destinationFilename = string.Format("X:\\ExistingFolder\\{0}", target.Name);
File.Copy(target.FullName, destinationFilename);
// You may need to place the filename in quotes if it contains spaces
string targetPath = string.Format("\"{0}\"", target.FullName);
string powerpointPath = "[FullPathToPowerpointExecutable]";
Process powerpointInstance = Process.Start(powerpointPath, targetPath);
// This solution is using a wpf windows app to avoid
// the flash of the console window. However if you did
// wish to display an accumulated list then you may choose
// to uncomment the following block to display your UI.
/*
Application app = new Application();
app.MainWindow = new MainWindow();
app.MainWindow.ShowDialog();
app.Shutdown(0);
*/
Environment.Exit(0);
}
}
}
희망이 있습니다.
이름이 "Public MainWindow()"인 기본 WPF 함수를 "static void Main (strings [] args)"으로 변경하면 오류가 발생합니다. 다른 것으로 변경하면 함수가 시작되지 않습니다. – m1clee
새 WPF 응용 프로그램을 만들고 생성 된 파일 (App.config, App.xaml, App.xaml.cs, MainWindow.xaml 및 MainWindow.xaml.cs)을 삭제합니다. 그런 다음 'MainWindow'라는 새 클래스를 추가하고 생성 된 코드를 모두 지 웁니다. 위의 코드를 붙여 넣으면 컴파일됩니다. 경로를 수정하고 테스트를 시작하십시오. (나는 게시물을 만들기 전에 그것을 테스트했다) – Jeff
@ m1clee - 나는 당신을 위해 일해서 다행이다. 행운을 빕니다. – Jeff
- 1. 특정 확장명의 파일 열기 Android
- 2. Firefox에서 특정 확장명의 파일 열기
- 3. 어셈블리 MIPS - 특정 확장명의 파일 만들기
- 4. 폴더 구조 생성시 특정 확장명의 파일 복사
- 5. 특정 확장명의 파일 가져 오기 C#
- 6. htaccess 특정 파일 확장명의 다른 사이트로 리디렉션
- 7. FileDialog를 사용하여 특정 확장명의 파일 선택
- 8. 특정 확장명의 파일 이름 위치 복사
- 9. 여러 확장명의 파일 찾기 일괄
- 10. .glg 파일 확장명의 의미는 무엇입니까?
- 11. 다양한 확장명의 파일 이름 바꾸기
- 12. Python - 확장명의 파일 이름을 확인하십시오.
- 13. 이름이 조건을 충족하면 특정 확장명의 파일을 삭제하십시오.
- 14. SSH를 통해 폴더 아래 특정 파일 확장명의 Chmod 권한
- 15. JFrame에서 특정 확장명의 자바 드래그 앤 드롭 파일
- 16. 특정 확장명의 모든 파일을 찾아 특정 대상에 복사하는 VBS 스크립트
- 17. BASH를 사용하여 특정 확장명의 폴더 이름 바꾸기
- 18. 일반적으로 드라이브에서 .dcm 확장명의 파일 검색 C#
- 19. 파일 확장명의 기본 프로그램을 설정하는 방법은 무엇입니까?
- 20. 응용 프로그램 파일 확장명의 아이콘을 검색하는 방법은
- 21. 버튼 확장명의 파일 이름을 사용자 정의하십시오.
- 22. 범주/확장명의 필터 배열
- 23. 단일 Regex에서 파일 이름과 파일 확장명의 유효성을 검사하는 방법은 무엇입니까?
- 24. Windows Metro 파일 확장명의 기본 응용 프로그램 아이콘 얻기
- 25. ruby - 특정 확장명의 파일을 디렉토리 (Windows)에서 가져옵니다.
- 26. Windows Phone 8 App을 파일 확장명의 기본값으로 설정하십시오.
- 27. Oracle 추적 파일 브라우저?
- 28. OSGi의 특정 번들 추적
- 29. 특정 메서드 호출 추적
- 30. 특정 파일을 열었던 프로세스 추적
http://stackoverflow.com/questions/14779616/filesystemwatcher-used-to-watch-for-folder-file-open/14779729#14779729 읽어보기 –
나는 그것을 보았습니다. 특정 폴더를 찾지 만 전체 시스템, 특히 플래시 드라이브를보고 싶습니다. 또한 마지막 답변은 C++을 제안합니다. C#을 사용하고 싶습니다. – m1clee
아마도 전체 시스템을 모니터링하는 대신 .ppt/.pptx 파일을 응용 프로그램과 연결할 수 있습니다. 그것은 훨씬 간단하게 들린다. –