Zobrazují se příspěvky se štítkemC#. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemC#. Zobrazit všechny příspěvky

pondělí 10. ledna 2011

Jak vyrobit GoldCard bez funkčního přístroje

Mé problémy s telefonem jsem již popsal v článku Unbrick Tattoo. Jedním z klíčových prvků bylo vytvořit GoldCard z mojí mikro SD karty. Někteří tvrdí, že to nejde, ale není tomu tak.

Prvním krokem, který mi dlouho nedal spát, bylo naformátovat kartu. Karta totiž původně byla naformátována na FAT, ale je potřeba ji naformátovat na FAT32.

Dále je potřeba stáhnout utilitu pro čtení CID z integrované čtečky v notebooku. Je možné, že to na obyčejné externí čtečce nebude fungovat… http://jo0ls-dotnet-stuff.blogspot.com/2008/12/read-sd-card-cid-serial-number.html resp. http://cid-862dee3ec267cb5c.office.live.com/self.aspx/Public/JDMcF.SDCard.zip

Pomocí tohoto software zjistěte a opište CID, budeme ho potřebovat.

Nyní navštívíme stránky, kde nám vygenerují loader pro kartu. http://psas.revskills.de/?q=goldcard Stačí zadat email, CID a ověřovací řetězec a formulář odeslat.

Nyní si musíme obstarat hex editor HexEd (http://www.brothersoft.com/hed.hexed-hex-editor-14695.html).

Po jeho nainstalování a spuštění otevřeme soubor, který nám přišel, zkopírujeme si jeho obsah do schránky a pak musíme přesně dodržet následující kroky:

Extras –> Open disk

Odškrtněte ReadOnly – abysme mohli zapsat

Zvolte External disk – pokud zvolíte špatně, zničíte si data na nějakém disku, tak opravdu POZOR !

opendisk

Po otevření klepněte před první byte a vložte ze schránky údaje z vygenerovaného goldCard souboru.

Zavřete HexEditor, odpojte kartu, máme GoldCard.

úterý 15. června 2010

FxCop

Rozhodl jsem se zlepšit funkčnost svého programovacího nástroje Visual Studio 2008 Professional a tak jsem se rozhodl nainstalovat nějaký pěkný plugin, který mi řekne, co kde dělám špatně a ideálně proč ;)

Jako první jsem vybral FxCop. Chvíli mi trvalo sehnat aktuální verzi 1.36, ale nakonec se povedlo. Problém byl ale s integrací do Visual Studia, ta nebyla úplně user-friendly.

Takže:

Tools – External Tools…

Následně Add.

Title: FxCop

Command: C:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe

Arguments: /c /f:$(TargetPath) /d:$(BinDir) /r:"c:\Program Files\Microsoft FxCop 1.36\Rules"

Initial directory: \Program Files\Microsoft FxCop

Yaškrtněte ještě Use Output window a je hotovo.

V menu Tools přibyla položka FxCop, jejíž spuštění Vám vypíše mraky hlášek, co děláte špatně a proč.

středa 11. listopadu 2009

AutoScroll

V jedné mojí aplikaci, která je dlouhodobě optimalizovaná pro rozlišení 1024x768 se objevil požadavek na zmenšení. Svět se mění, všechno je menší a menší, takže i netbooky, které se ve firmě začaly objevovat nemohou konkurovat 15’’ displayům.

Začal jsem povolením hodnoty AutoScroll v hlavním okně a doufal, že tím je vše hotovo. Okno se ale chovalo dost zvláště. Po chvíli boje jsem otevřel manuál a dočetl se o čemsi jménem AutoScrollMinSize – parametr udává minimální velikost okna, ve které ještě scrollovací pruhy nejsou. Stačilo rozumně nastavit velikost, stejně jako velikost celého okna a voilá, hotovo.

pátek 29. května 2009

ClickOnce a chyba 0x800736B3

Před pár dny jsem dostal email, že přestal fungovat můj program, který rozesílám přes ClickOnce technologii. Je napsán v C# a VS 2005.

Hláška vypadala asi takto:

* Aktivace aplikace C:AplikaceAplikace1_1_8_9_103.application způsobila výjimku. Byly zjištěny následující zprávy o neúspěšných operacích:

+ Sestavení určené odkazem není v systému nainstalováno. (Výjimka na základě hodnoty HRESULT: 0x800736B3)

Nevěděl jsem, co si počít, až jsem na msdn našel jeden topic ( The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3) ), ve kterém jsem se dočetl, že se tato chyba objevuje nečekaně, možná když se náhle restartuje počítač a že ani lidé z MS nevědí, čím je způsobena. Nicméně řešení je velice snadné, smažte adresář {C}:\Documents and Settings\{user}\Local Settings\Apps

Chyba je totiž způsobena poškozením souborů v tomto adresáři a jejich smazáním se vytvoří nové. Pokud tato rada pomůže, napište do komentářů :)

pátek 5. prosince 2008

Wiimote

Ze školy jsme dostali na hraní Wiimote - ovladač konzole Wii od firmy Nintendo. Na první pohled upoutá svým tvarem a gumovým návlekem. Ovladač velice dobře padne do ruky a tlačítka se mačkají velice lehce.

Z reklamy na internetu, nebo i v televizi můžeme vidět, že ovladač je určen pro velice interaktivní ovládání různých her. Můžeme s ním hrát tenis, šermovat, pádlovat, jezdit rallye, hrát bowling (jak bylo vidět ve vánočním díle The Big Bang Theory :) a mnoho dalších věcí. Může být i jedním z důvodů, proč si tu malou, předraženou krabičku jménem Wii koupíte. Pokud ale máte svůj PC, nezoufejte, přes bluetooth k němu Wiimote připojíte, jako by to byla myš, nebo klávesnice. Stačí zapnout vyhledávání nových zařízení a na ovladači zmáčknout současně klávesy 1 a 2. LED diodky začnou blikat a ovladač je za chvíli zpárován.

Pokud jste alespoň trochu programátorsky zruční, můžete využít mnohých knihoven. Pro C# je to např. knihovna WiimoteLib ( http://www.codeplex.com/WiimoteLib ) Pomocí níž načtete stavy veškerých senzorů, které Wiimote má. A že jich je - tlačítka, akcelerometry ve všech osách, infra kamera na špičce ovladače, led diodky a reproduktorek. Pak již jen stačí namapovat akce z ovladače na klávesnici a můžete hrát.

Pokud chcete použít Wiimote jako ovladač pro robota, nebo trackování pohybu hlavy, můžete se inspirovat následujícími videi ze serveru youtube: http://www.brianpeek.com/blog/pages/net-based-wiimote-applications.aspx

úterý 25. listopadu 2008

Jak na klávesové zkratky v C#

V okně, ve kterém chceme zkratky povolit musíme zapnout volbu KeyPreview, ta nám umožní hrabat do kláves dříve, než se jich zmocní ovládací prvky. Dalším krokem je nadefinování metody Key_Down nad formulářem, ve kterém chceme zkratku povolit. Nakonec do metody napíšeme něco jako:

if (e.Control && e.KeyCode == Keys.D){
this.buttonDeinstall_Click(null, null);
}


Spustíme formulář a hurá, Ctrl + D nám zmáčkne tlačítko Deinstall :)