Hallo zusammen,
ich nutze in meinem Office Addin, das sowohl unter Word, Outlook, Excel und Powerpoint den FileSystemWatcher.
Im Addin lade ich eine Datei vom Server und setze ein FileSystemWatcher drauf. Wenn die Änderung durch
den FileSystemWatcher gemmeldet wird, zeige ich eine Meldung an und das genau ist auch das Problem. Der Code
dazu sieht folgendermaßen aus.
private void OnFileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
WatchedDocument currentWatchedDocument = GetWatchedDocumentByFile(e.FullPath);
if (currentWatchedDocument != null && currentWatchedDocument.FileSystemWatcher.EnableRaisingEvents)
{
currentWatchedDocument.FileSystemWatcher.EnableRaisingEvents = false;
DialogResult res = MessageBox.Show(msg, Resources.MessageBox_Caption, MessageBoxButtons.YesNo);
if (res == DialogResult.Yes)
{
...
}
}
}
Die MessageBox ist nicht Modal zur Office Application. Dann dachte ich, das ich ja einen Owner übergben könnte, aber woher kriege ich den? Der Owner kann nur die Office Applikation sein, aber woher kriegt man das passende Win32 Fenster als Parameter
für die MessageBox?
Die MessageBoxIndirect habe ich bereits getestet:
http://www.codeproject.com/KB/dialog/MessageBoxIndirectCS.aspx
Die Modalität auf Systemebene ist zwar eine Lösung aber nicht die gewünschte.
Danke für euere Antworten im Voraus.
Gruß
Cetin