Witam,
Piszę oprogramowanie pobierające dane ze źródła DDE. Do komunikacji wykorzystuję funkcje WinApi. Ustanowienie połączenia następuje po instrukcji:
IntPtr handle = Ddeml.DdeConnect(id, serviceHandle, topicHandle, IntPtr.Zero);
Jeżeli kod uruchamiany jest jako aplikacja Windows Forms to wszystko działa bez problemu. Niestety po uruchomieniu jako usługa Windows funkcja DdeConnect nie działa i otrzymuję błąd DMLERR_NO_CONV_ESTABLISHED. Jeżeli program będący serwerem DDE uruchomię z poziomu usługi poprzez Process.Start(...) to też działa poprawnie. To rozwiązanie jednak odpada bo źródła DDE mają być za założenia dowolne.
Co można zmienić w kodzie usługi aby to zadziałało? Podejrzewam, że problem leży w uprawnieniach, ale nie wiem co z tym zrobić?
Projekt pod .NET 3.5, sprawdzałem pod Windows XP i Windows 7.