Category Archives: Windows

Cookie Nutzung mit PowerShell Invoke-WebRequest

Wenn man Cookies von einem WebRequest zu anderen übergeben möchte geht das wie folgt:

$LoginXML = Invoke-WebRequest $LoginUrl -Method Post -Body "Some=Post&Variable=true" -SessionVariable session
$UsersXML = Invoke-WebRequest $OtherUrl -WebSession $session

Die Cookies werden dann in der Variable $session gespeichert und können mit der Option -WebSession weiterverwendet werden.

Leave a Comment

Filed under PowerShell, Windows

AC3 zu MP3 konvertieren

Muss ich einfach mal festhalten. Um eine AC3 Datei in eine MP3 Datei zu konvertieren kann folgender Command genutzt werden:

"C:\Program Files\megui\tools\eac3to\eac3to.exe" "myfile.ac3" stdout.wav | "C:\Portableapps\Lame\lame.exe" -h -V0 - "myfile.mp3" 

Wichtig hier bei ist, dass der Datei Name der auszugebenden Datei von eac3to ’stdout.wav‘ heißt, dieses leitet es dann an die Pipe weiter, dort wird es dann von lame in MP3 konvertiert.

Link zu eac3to
Link zu Lame

Leave a Comment

Filed under Windows

Windows 7 Professional MUI Paket installieren

Ich brauchte gerade spontan ein tschechisches Language Paket in einer Test VM, hatte allerdings nur ein Professional Edition von Windows zur Hand. Normalerweise lassen sich Sprachpakete nur bei Ultimate und Enterprise dazu installieren, aber mit einem kleinen Trick geht das auch für Professional und Home. Folgenden muss getan werden:

  • Download des MUI Packets von z.B. hier.
  • ‚Entpacken‘ der exe Datei in eine .cab. Am einfachen gehts wohl wenn man einem die exe Datei startet und die im gleichen Ordner erstellte .cab Datei schnell wegkopiert. Sonst gibt es wohl auch einen exe2cab Converter – Google hilft.
  • Nun müssen noch folgende Befehle der Reihe nach ausgeführt werden:
    • dism /online /add-package /packagepath:$PathToCAB
    • bcdedit /set {current} locale $LanguageCode
    • bcdboot %WinDir% /l $LanguageCode
  • Natürlich müsst ihr noch die Variablen $PathtoCAB (Pfad zur MUI .cab Datei) und $LanguageCode (könnte ihr hier für euer MUI Paket nachschauen) ersetzen
  • Als letztes muss noch ein Eintrag in der Registry gelöscht werden.
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\$OldLanguageCode
  • Einmal neustarten und das wars.

Leave a Comment

Filed under Windows

How to configure MPC-HC Remote for use with MPC-HC

From time to time I get mails from people who are struggle with configuring MPC-HC(Remote) for remote usage. I hope this tutorial will clearify it.

  1. First you need to configure your MPC-HC on your PC/Laptop/… Therefor you need to start MPC-HC and go to ‚View –> Options‘:
  2. In the options menu you need to navigate to ‚Player –> Web interface‘. There you need to activate the ‚Listen on port‘ option and save it.

  3. Last but not least you need to configure the MPC-HC Remote App. Start it and navigate to the settings page:

Of course you need to make sure, that your phone can reach your PC/Laptop/…

Here are some tips if this won’t work:

Do not hesitate to leave an comment if something is unclear!

Leave a Comment

Filed under MPC-HC Remote, Windows, Windows Phone

Löschen aller Tabellen in einer MSSQL Datenbank

Ich musste gerade mal auf die schnelle alle Tabellen in einer  MSSQL Datenbank löschen. Hier für gibts zig SQL Scripte dafür im Internet, aber eigentlich geht das viel schneller mit der integrierten Powershell:

1. Zu der Auflistung der Tabellen navigieren, Rechtsklick drauf und ‚PowerShell starten‘ auswählen:

2. Nun eingeben:

ls | %{$_.Drop()}

Das wars auch schon 🙂 Nun werden alle Tabellen in der ausgewählten Datenbank gelöscht.

Leave a Comment

Filed under PowerShell, Windows

GetIsNetworkAvailable() als asyncrone Methode

Ich weiß echt nicht warum, aber es gibt im Windows Phone SDK immer noch eine wichtige Methode die nicht asyncron verfügbar ist. Mit den neuen ‚async‘ und ‚await‘ Schlüsselwörtern macht es aber auf jeden Fall Sinn dies zu implementieren. Here we go:


/// <summary>
/// Checks asyncron if Network is available
/// </summary>
public async Task<bool> IsNetworkAvaiable()
{
Task<bool> _Task = new Task<bool>(() => System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable());
_Task.Start();
await _Task;
return _Task.Result;
}

Leave a Comment

Filed under C#, Windows Phone

Linq Distinct Nutzung bei Custom Objects

Wollte gerade eine Liste via Linq filtern, so dass jedes Objekt nur noch einmal drin vorkommt. Theoretisch klappt das so:

var result = this.PersonList.Distinct().ToList<person>();

Problem ist, dass ich das ganze auf eine Liste anwende, welche Custom Objects enthält. Hier muss dann noch ein wenig Vorarbeit geleistet werden.
Und zwar muss das IEquatable Interface und die zwei Methoden Equals/GetHashCode implementiert werden. Danach sieht die Klasse wie folgt aus:

public class person : IEquatable<person>
{
	public int ID { get; set; }
	public string Name { get; set; }

	public bool Equals(person obj)
	{
		if (this.Name == obj.Name && this.ID == obj.ID)
			return true;

		return false;
	}

	public override int GetHashCode()
	{
		int HashPersonName = this.Name == null ? 0 : this.Name.GetHashCode();
		int HashPersonID = this.ID == null ? 0 : this.ID.GetHashCode();
		return HashPersonName ^ HashPersonID;
	}
}

Und schon funktioniert Distinct() auch wie oben beschrieben.

Achtung: Es wird nicht die Methode Equals überschrieben, sondern eine eigene erstellt!

Leave a Comment

Filed under C#

Maximal Größe von Controls in Windows Phone

Wie ich gerade feststellen musste, gibt es bei Windows Phone eine Maximalgröße für Controls welche bei 2048px (bzw. Width/Height) liegt. In meinem Fall ging es um einen sehr sehr langen Text welchen ich in einem TextBlock darstellen wollte. Die Lösung hierfür war ein Custom Control welches einfach mehrere TextBlock’s in einem Stackpanel unterbringt. Wie das Ganze funktioniert ist hier in einem MSDN Blog Artikel von Alex Yakhnin erklärt. Solltet ihr die Control tatsächlich verwenden wollen, nutzt am besten den Quellcode welchen im Beitrag ganz unten angehängt ist. Der Quellcode, welcher im Beitrag selbst gezeigt wird, ist nicht vollständig!

Quellcode

Leave a Comment

Filed under C#, Windows Phone

Bestimmen ob WLAN aktuelle Internet Netzwerk Schnittstelle in Windows Phone 7/8 ist

Neulich musst ich feststellen, dass Windows Phone automatisch auf eine Handy Netz Connection umswitcht wenn über das WLAN kein Internet zubekommen ist. Das ist sehr unpraktisch, insbesondere wenn man als App Entwickler sicherstellen möchte das der Traffic nur über das WLAN fließt. Früher habe ich mit den folgenden Zeilen einfach abgeprüft ob das WLAN aktiviert wurde:

using Microsoft.Phone.Net.NetworkInformation;
if(DeviceNetworkInformation.IsWiFiEnabled == true)
{
// Add code
}

Besser ist allerdings:

using Microsoft.Phone.Net.NetworkInformation;
if (NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
{
// Add code
}

Der Unterschied ist durchaus nicht zu vernachlässigen. Die 1. Methode testet schlicht ob WLAN überhaupt aktiviert ist. Die 2. Methode hingegen testet ob aktuell alle Daten welche ins Internet wollen über das WLAN fließen und dies auch funktioniert.

Leave a Comment

Filed under C#, Windows Phone

SCP Upload via PSCP und PowerShell

Ich mag ja Batch (CMD.exe) sowas von garnicht, inzwischen schreibe ich alles in PowerShell. Hier mal ein kurzes Beispiel für einen SCP Upload auf ein Unix System mit Hilfe von pscp.exe.
Dies ist die Command Line SCP Version von Putty und lässt sich hier runterladen.

$PathToPSCPEXE = "C:\Program Files (x86)\Putty\pscp.exe"
$PathToPrivateKey = '"C:\Path\To\PrivateKey.ppk"'
$PrivateKeyPassPhrase = "PASSPHRASE"
$UserName = "root"
$UploadHostName = "hostname.example.org"
$PathToUploadFile = "C:\Path\To\File.txt"
$UploadPath = "/root/" # With closing "/"!
[Array]$Arguments = "-i", $PathToPrivateKey, "-pw", $PrivateKeyPassPhrase, $PathToUploadFile,($UserName,"@",$UploadHostName,":",$UploadPath,$PathToUploadFile.Split("\")[-1] -join "")

& $PathToPSCPEXE $Arguments

Leave a Comment

Filed under PowerShell