Ich möchte ein kleines Formular über die Benachrichtigungssymbole in der linken nach rechts Schnittstelle die Symbole auf der rechten Seite des Bildschirms in rechts nach links Schnittstelle die Symbole auf der linken Seite des Bildschirms Ich möchte den Code damit das auf xp und win7 funktioniert bitteWie erkennt man eine rechts-nach-links-Windows-Schnittstelle C#?
Antwort
Ist das wonach Sie suchen?
private static bool IsRightToLeft()
{
return CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft;
}
Irgendwelche System.Windows.Forms.Control
Unterstützung eine solche Überprüfung: Control.RightToLeft
.
Es ist eigentlich eine zugrunde liegende Eigenschaft aller Fenster, und Sie wollen es nicht aus einem zufälligen Fenster. Sie möchten die RTL-Funktion von der Taskleiste aus aufrufen. – MSalters
Stuart Dunkeld die Hilfe dosnt hat Culture nichts mit der Schnittstelle zu tun, wenn ich die Position des Startknopfes finden kann (in der Taskleiste), die Sie
Die Flagge helfen würden, Suche nach ist WS_EX_LAYOUTRTL
(400000 hexadezimal). Sie erhalten diese Flagge durch den Aufruf GetWindowLong(FindWindow(L"HHTaskBar", NULL), GWL_EXSTYLE)
.
Wenn Sie darauf bestehen, können Sie die Position und Größe der Windows-Startschaltfläche finden. Um dies zu erreichen, fügen Sie zuerst diese in Ihrer Klasse:
[DllImport("user32.dll")]
private static extern bool GetWindowRect(IntPtr hwnd, ref Rectangle rectangle);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, IntPtr className, string lpszWindow);
Dann solchen Code verwenden .. in diesem Beispiel, das ich seine Breite zeigen, aber man kann seine Links/Rechts-Position als auch lesen:
IntPtr hwndTaskBarWin = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Shell_TrayWnd", null);
IntPtr hwndStartButton = FindWindowEx(hwndTaskBarWin, IntPtr.Zero, "Button", null);
if (hwndStartButton.Equals(IntPtr.Zero))
{
//Maybe Vista/Windows7?
hwndStartButton = FindWindowEx(IntPtr.Zero, IntPtr.Zero, (IntPtr)0xC017, null);
}
if (hwndStartButton.Equals(IntPtr.Zero))
{
MessageBox.Show("Sorry, can't find the Start button/orb");
}
else
{
Rectangle rect = Rectangle.Empty;
if (GetWindowRect(hwndStartButton, ref rect))
MessageBox.Show("Start button width: " + rect.Width);
}
Erfolgreich getestet unter XP und Windows7, geht der Vista/7 Trickkredit an Waylon Flynn in seiner Antwort auf this question.
- 1. Wie erkennt man CMYK-Bilder mit C#
- 2. Wie man erkennt, ob eine Klasse von NSObject (Objective-C)
- 3. Wie erkennt man eine Eigenschaft Rückgabetyp in Objective-C
- 4. Tiefensuche, Wie erkennt man Diamantabhängigkeiten?
- 5. Wie erkennt man eine Firewall in Windows?
- 6. Wie man eine sich wiederholende Dezimalzahl erkennt
- 7. Javascript - Wie erkennt man eine Elementbreitenänderung?
- 8. UITableView - Wie erkennt man eine Abwahl?
- 9. Wie erkennt man eine Dateiänderungen mit TFS?
- 10. Wie man eine Spirale erkennt und zählt
- 11. Wie erkennt man Anwendungsabstürze?
- 12. Wie erkennt man, ob eine URL eine Intranet-URL ist?
- 13. Wie erkennt man die Zugangskontrollmaschine?
- 14. Wie erkennt man, ob ein bestimmtes Laufwerk eine Festplatte ist?
- 15. Wie erkennt man, ob eine Zeichenfolge mindestens eine Zahl enthält?
- 16. Wie erkennt man, ob eine Bibliothek DEBUG oder RELEASE erstellt?
- 17. Wie man es6 Module erkennt
- 18. Wie erkennt man, wenn eine Anwendung den Fokus verliert?
- 19. Wie man Nachbarzellen richtig erkennt
- 20. C# 4: Wie erkennt man In-Line für Nullen?
- 21. Wie erkennt man den vorherigen Zustand des Textfelds in C#?
- 22. Wie erkennt man, ob ein Typ eine benutzerdefinierte Struktur ist?
- 23. Wie erkennt man, dass eine Datei verwendet wird?
- 24. Wie erkennt man IE Protected Mode mit C#
- 25. Wie erkennt man einen Zeilenüberlauf von einer Zeile in C#?
- 26. Wie erkennt man veränderbare Objekte?
- 27. Wie erkennt man, wie oft eine Taste nacheinander gedrückt wurde?
- 28. C#: Wie erkennt man, ob in Windows ein 'Benutzerkonto' existiert?
- 29. Wie erkennt man die IIS-Version mit C#?
- 30. Wie erkennt man PowerPoint 2007 von einem C++ Addin?
Sie haben mehr Glück mit so etwas auf stackoverflow.com –