Jak wygenerować nazwę pliku tymczasowego w c#

2011-02-08

Czasami trzeba utworzyć plik tymczasowy. Zapisać do niego tymczasowo stronę internetową, skopiować dane podlegające obróbce, a na zakończenie wykasować pliki.

Windows oferuje gotowe funkcje pozwalające na tworzenie pliku w standardowym katalogu.

  • Aby pobrać katalog tymczasowy dla bieżącego użytkownika użyj funkcji  System.IO.Path.GetTempPath()
  • Aby utorzyć przypadkowy plik użyj instrukcji  Guid.NewGuid().ToString()

Jeżeli jednak utworzysz plik tymczasowy używając:

 System.IO.Path.GetTempPath() + Guid.NewGuid().ToString()

to plik będzie bez rozszerznia. Właściwie nie ma to znaczenia, ale gdybyś chciał mieć plik tymczasowy z rozszerzeniem to możesz użyć następującej metody (w całości skopiowane z http://kseesharp.blogspot.com/2007/12/generate-temporary-file-name-on-disk.html)

public string GetTemporaryFile(string extn)
{
     string response = string.Empty;

     if (!extn.StartsWith(„.”))
          extn = „.” + extn;

     response = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + extn;

     return response;
}

Jak wydrukować zabezpieczony przed wydrukowaniem plik PDF?

2011-02-07

Na stronie pewnego urzędu opublikowano plik PDF. Nadgorliwość jest jednak gorsza od faszyzmu i dokument został zabezpieczony przed wydrukowaniem! Rozmumiem zabezpieczenie przed kopiowaniem tekstu, ale zabezpieczyć przed drukowaniem? I to dokument, który jest opublikowany? Co to za opublikowanie skoro nie można wydrukować.

No ale skoro tak… Acrobat Reader oczywiście nie chce go drukować, ale za to stary poczciwy program Ghost Script View tak! Więc jeśli musisz wydrukować zabezpieczony plik PDF użyj Ghost Script View (http://pages.cs.wisc.edu/~ghost/). Przy okazji potrzebny będzie jeszcze GhostScript, który możesz ściągnąć również spod tego adresu.

Apel do nadgorliwców: nie zabezpieczajcie publikowanych wszem i wobec dokumentów!

By Rafał Kraik in Helpdesk, Humor

Pobieranie parametrów wejściowych w programie .NET C#

2011-02-06

Chociaż obecne aplikacje raczej pozwalają na wprowadzanie opcji i parametrów w ładnych okienkach, to jednak od czasu do czasu trzeba przygotować program uruchamiany z linii komend i przyjmujący parametry określane podczas wywoływania w skrypcie.

Odpowiednich zmian można dokonać w pliku program.cs. Znajduje się w nim startowa metoda Main, od której zaczyna się uruchomienie programu. Zazwyczaj nie wykazujemy parametrów w tej metodzie, jednak tutaj należy wyraźnie wskazać, że program można wywołać z parametrami:

        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
           //specjalny obiekt zapamietujący logikę działania aplikacji
           bl=new BusinessLogic();

Dalej próbujemy odszukać przekazane parametry: Czytaj dalej »

Jak pobrać adresy IP komputera i jego interfejsy sieciowe w c#

2011-02-06

Tym razem należało wykonywać na komputerze pewne czynności w zależności od adresu MAC karty sieciowej lub adresu IP lub po prostu w zależności od rodzaju interfejsu sieciowego. Okazuje się, że .NET ma cały szereg funkcji pozwalających wykonywać tego rodzaju czynności. 

Należy rozpocząć od zaimportowania odpowiedniej przestrzeni nazw: 

using System.Net;
using System.Net.NetworkInformation;

Wśród znajdujących się tu funkcji na uwagę zasługuje: 

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

Metoda ta pozwala pobrać wszystkie interfejsy sieciowe do kolekcji.  W moim przypadku ciąg dalszy programu wyglądał tak: Czytaj dalej »

Zapomniane hasło pocztowe w Outlook

2011-02-01

Hmm, co zrobić, jeżeli program Outlook poprawnie łączy się pocztą, ma wpisane hasło do konta, ściąga pocztę, ale… użytkownik nie pamięta swojego hasła?  Na dodatek nie skonfigurowane zostały żadne opcje przypominania haseł, a pytanie pomocnicze z dostępem do resetu hasła nie jest byt oczywiste? A może dostajesz się do konta pocztowego przez przeglądarkę i przeglądarka pamięta hasło, ale ty nie… Póki nie zostanie wyczyszczona pamięć przeglądarki będziesz mógł korzystać z poczty, a potem już nie! Czytaj dalej »

By Rafał Kraik in Helpdesk

Co to jest za plik .vshost.exe powstający w katalogu debug podczas budowania projektu

2011-01-28

Jest to dodatek Microsoft pozalający na szybsze uruchamianie aplikacji podczas debuggowania. Jeżeli zamierzasz przeniseść aplikację na inny komputer ten plik nie jest potrzebny.

Można wyłączyć budowanie tego pliku w chodząc w Project –> Properties –> Debug i odznaczając pole „Enable the Visual Studio hosting process”.

Prosty splash screen podczas uruchamiania aplikacji

2011-01-28

Jak to zrobić, aby aplikacja, która ma typowo batchowe zadanie jednak coś wyświetliła? Można do niej dodać Splash screen. Proponuję wbudować go w metodzie Main klasy Program. Po pierwsze przygouj efekttownie wyglądające okno Splash. Jest to zwykła forma okienkowa, zazwyczaj z obrazkiem, może ze skromnym tytułem. Czytaj dalej »