Dobry wieczór. Szukam metody udostępniania danych z mojej aplikacji w całym systemie, aby inne aplikacje mogły odczytać te dane, a następnie zrobić z nimi, co chcą (np. Sformatować je w celu wyświetlenia, użyć do logowania itp.). Dane muszą być aktualizowane dynamicznie w samej metodzie.System udostępniania danych szeroki
Najpierw przychodziło na myśl WMI, ale wtedy masz problem z pauzowaniem aplikacji podczas czytania z WMI. Ponadto, nie mam pojęcia, jak ustawić własną przestrzeń nazw lub klasy, jeśli jest to możliwe nawet w Delphi.
Używanie plików to kolejny pomysł, ale może to spowodować duże obciążenie dysku i jest to naprawdę okropna metoda do wykorzystania w czasie rzeczywistym.
Korzystanie z sterownika prawdopodobnie byłoby najlepszą opcją, ale to trochę zbyt nachalne na koniec użytkowników, jak na mój gust, i nie mam pojęcia, od czego zacząć.
WM_COPYDATA byłby świetny, ale nie jestem pewien, czy to wystarczająco dynamiczne, i czy będzie duże zasoby, czy nie.
Używanie protokołu TCP/IP byłoby najlepszym wyborem dla całej sieci, ale oczywiście jest mało przydatne, gdy działa w jednym systemie bez wymagań sieciowych.
Jak widać, staram się dowiedzieć, co z tym zrobić. Nie chcę wchodzić w jedną tylko metodę, aby się przekonać, że to się nie uda. Zasadniczo coś w rodzaju usługi lub procesu w tle, aby nagrać dane, a następnie pozwolić innym aplikacjom na odczytanie tych danych. Nie jestem pewien metod. Wolałbym NIE UŻYWAĆ elewacji/UAC, ale jeśli zajdzie taka potrzeba, to ja się na to zgodzę.
Używam w Delphi 2010 do tego ćwiczenia.
Wszelkie pomysły?
Czy mógłbyś użyć bazy danych? –
Myślę, że potrzebne są dodatkowe wyjaśnienia dotyczące "całego systemu". Czy musisz wchodzić w interakcje z innymi sesjami (użytkownikami zalogowanymi do tego samego systemu za pomocą "przełącznika użytkownika", pulpitu zdalnego, Citrix itp.) Lub po prostu bieżącego logowania? Lub podsystemy VM? Nie sądzę, że WM_CopyData będzie działać w takich granicach, więc powinieneś wyjaśnić zakres. –
Cześć Chris. Nie muszę w żaden sposób wchodzić w interakcje z innymi sesjami lub maszynami wirtualnymi ani przekazywać ich. Jest to transmisja podczas sesji, na którą patrzę. –