안녕하세요. 다른 응용 프로그램이 해당 데이터를 읽고 원하는대로 (예 : 표시를 위해 포맷하고, 로깅 등에 사용) 할 수 있도록 시스템 전반의 응용 프로그램에서 데이터를 공유하는 방법을 찾고 있습니다. 메서드 자체에서 데이터를 동적으로 업데이트해야합니다.데이터 시스템 공유하기
WMI가 먼저 생각 나지 만 WMI에서 읽는 동안 응용 프로그램이 일시 중지되는 문제가 있습니다. 또한, 델파이에서도 가능하다면 내 자신의 네임 스페이스 또는 클래스를 설정하는 방법을 알지 못합니다.
파일 사용은 또 다른 아이디어이지만 디스크가 무거울 수 있으며 실시간 데이터를 사용하는 참된 방법입니다.
드라이버를 사용하는 것이 가장 좋은 방법 일 수 있지만, 사용자의 취향에 따라 사용자의 의도가 너무 복잡하기 때문에 어디서부터 시작해야할지 모릅니다.
WM_COPYDATA는 훌륭하지만, 충분히 동적인지, 리소스가 많든 적든간에 잘 모르겠습니다.
네트워크를 통해 TCP/IP를 사용하는 것이 가장 좋지만 네트워크 요구 사항이없는 단일 시스템에서 실행될 때는 거의 사용하지 않는 것이 좋습니다.
여러분도 알다시피, 나는 이것과 함께 어디로 가야할지 고심하고 있습니다. 나는 한 가지 방법으로 만 들어가서 결국에는 효과가 없을 것 같지 않다. 기본적으로 데이터를 기록한 다음 다른 응용 프로그램에서 해당 데이터를 읽을 수있게 해주는 서비스 또는 백그라운드 프로세스와 같은 것입니다. 나는 방법에 대해서 확신 할 수 없다. 나는 고도/UAC가 이것을 필요로하지 않는 것을 좋아할 것이다. 그러나 필요하면, 나는 그것을 해결할 것이다.
저는이 연습을 위해 Delphi 2010에서 실행 중입니다.
아이디어가 있으십니까?
아마도 데이터베이스를 사용할 수 있습니까? –
"시스템 전체에"더 많은 설명이 필요하다고 생각합니다. "전환 사용자", 원격 데스크톱, Citrix 등을 통해 동일한 시스템에 로그인 한 다른 세션 또는 현재 로그인과 상호 작용해야합니까? 또는 VM 하위 시스템? 나는 WM_CopyData가 그러한 경계를 넘어서서 작동하지 않을 것이라고 생각하므로 범위를 분명히해야합니다. –
Chris 님, 안녕하세요. 어떤 방식 으로든 다른 세션이나 가상 시스템과 상호 작용하거나 전송할 필요가 없습니다. 내가보고있는 세션을 전송 중입니다. –