niedziela, 25 października 2009

Uruchamianie cmd.exe "jako administrator"

Windows 7 lub Vista
Aby uruchomić konsolę z uprawnieniami administratora trzeba po wpisaniu w okienku: Uruchom: cmd nacisnąć klawisze Shift+Ctrl+Enter.

W tak otwartym okienku bez problemy wykonamy ulubione pliki komend (np. rejestruj.bat z pakietu Comarch Opt!ma)

środa, 14 października 2009

Klawiatura USB nie działa po przejściu do BIOS

Co jeśli po otwarciu ustawień BIOS twoja klawiatura USB sprawia wrażenie nieaktywnej lub martwej?

Najprawdopodobniej masz wyłączoną opcję: USB Legacy Support
Aby ją włączyć:
1. Podłącz klawiaturę PS-2
2. Znajdź opcję: USB Legacy Support (najprawdopodobniej w menu: Advanced, Peripheral, lub Peripheral Configuration.
3. Zmień stan USB Legacy Support z Disabled na Enabled
4. Zapisz zmienione ustawienia BIOS (w tym momencie komputer się zresetuje)
5. Ponownie wejdź do BIOS i upewnij się, że opcja USB Legacy Support ma ustawiony stan: Enabled
6. Wyjdź z BIOS bez zapisu.
7. Poczekaj na uruchomienie komputera
8. Zamknij system
9. Podłącz ponownie klawiaturę USB

Jeżeli USB Legacy Support jest ustawiony jako Disabled, nie będzie możliwe używanie myszki i klawiatury USB w następujących sytuacjach:
- uruchamianie komputera w Safe mode.
- uruchamianie Windows Startup menu.
- wystartowanie komputera w trybie MS-DOS
- wystartowanie komputera z dyskietki (także wtedy gdy pozostawimy dyskietkę w stacji podczas wyłączania komputera)
- jeśli Windows wyświetli "blue screen" z napisem "Press any key to continue".
- sterowanie zachowaniem programu ScanDisk podczas uruchamiania komputera
- edytowanie ustawień BIOS.
- wprowadzenie hasła do BIOS

wtorek, 13 października 2009

Nazwa procesu, który uruchomił kod danej klasy

Czasami potrzebuję znać nazwę procesu, który uruchomił daną klasę.
Najczęściej w kontekście zapisywania operacji do loga. Kiedy ta sama klasa jest wykorzystywana przez kilka aplikacji, logowanie powinno odbywać się do pliku związanego z tą właśnie aplikacją.
Rozwiązanie znalazłem na blogu: Brad'a Abramsa:

currentProcessName = Path.GetFileNameWithoutExtension(Environment.GetCommandLineArgs()[0])

środa, 7 października 2009

VS 2008; Blokada otwierania formatera okna

Chciałbym aby domyślną akcją dla klasy dziedziczącej z Windows.Forms.Form było otwarcie okna z kodem.
W VS 2003 używałem atrybutu:
System.ComponentModel.DesignerCategory("Code")]

[System.ComponentModel.DesignerCategory("Code")]
public class FrmManager : System.Windows.Forms.Form

Niestety w VS 2008 SP1 to nie działa. Nadal domyślną akcją jest otwieranie formatera.

Maciej Aniserowicz (.jak.NET) podpowiedział mi, że należy to zrobić tak:

1. Prawym przyciskiem myszy otwórz menu na pliku formy.
2. Z menu wybierz "Open with...".
3. Zaznacz "CSharp Editor", kliknij "Set as Default"
4. Kliknij OK

Teraz domyślnym edytorem dla wszystkich formatek jest edytor kodu, a formater wybieram prawym przyciskiem myszy.