Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 24,463
» Latest member: SteveShiem
» Forum threads: 0
» Forum posts: 0

Full Statistics

Online Users
There are currently 14 online users.
» 4 Member(s) | 10 Guest(s)
EugeneAR, PabloSanz, Robertlanny, Usava

Latest Threads
Ukrywanie systemowego zeg...
Forum:
Last Post: Łukasz
06-03-2014, 04:27 PM
» Replies: 0
» Views: 1,667
[VB] Informacje połączeni...
Forum:
Last Post: Łukasz
12-29-2013, 03:02 AM
» Replies: 0
» Views: 2,303
[VC++] Informacje połącze...
Forum:
Last Post: Łukasz
12-28-2013, 03:51 PM
» Replies: 0
» Views: 2,376
Szybkie przełączenie użyt...
Forum:
Last Post: Piotr.W
09-14-2013, 11:26 PM
» Replies: 0
» Views: 1,416
Skrót klawiszowy do Mened...
Forum:
Last Post: Łukasz
09-10-2013, 02:34 AM
» Replies: 0
» Views: 1,527
[VBNET] Blokowanie kilkak...
Forum:
Last Post: Łukasz
09-10-2013, 02:27 AM
» Replies: 0
» Views: 2,058
[VB] Blokowanie kilkakrot...
Forum:
Last Post: Łukasz
09-10-2013, 02:27 AM
» Replies: 0
» Views: 1,880
[C#] Pobieranie tekstu ze...
Forum:
Last Post: Łukasz
09-06-2013, 07:13 AM
» Replies: 0
» Views: 5,169
[C#]Informacje Windows, S...
Forum:
Last Post: Łukasz
09-06-2013, 06:51 AM
» Replies: 0
» Views: 1,740
[C#] Autouruchamianie pro...
Forum:
Last Post: Łukasz
09-05-2013, 06:46 AM
» Replies: 0
» Views: 3,015

 
Lightbulb Ukrywanie systemowego zegarka
Posted by: Łukasz - 06-03-2014, 04:27 PM - Forum: - No Replies

Witam
Dzisiaj pokażę Wam jak ukryć systemowy zegarek [img]http://lbryk.pl/TUT/WindowsXp/HideClock/0.png[/img], w taki sposób aby uniemożliwić pokazanie go przez opcję „właściwości paska zadań”.
Klikamy [img]http://lbryk.pl/TUT/WindowsXp/HideClock/1.png[/img], następnie wybieramy [img]http://lbryk.pl/TUT/WindowsXp/HideClock/2.png[/img]

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/1a.png[/img]

..i wpisujemy regedit (tak jak na ilustracji poniżej…)

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/3.png[/img]

Klikamy OK i jesteśmy w rejestrze systemu Windows.

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/4.png[/img]

Odnajdujemy klucz
[code]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\
Explorer]
[/code]

Po prawej stronie okna rejestru klikamy prawyk klawiszem myszy i wybieramy „Nowy”, następnie „Wartość DWORD”.

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/5.png[/img]

Pojawi się nam nowa wartość klucza. Musimy zmienić jej nazwę na „HideClock” -> można to zrobić klikając na wartość i wciskając klawisz F2 lub klikając prawym przyciskiem myszy na wartość i wybierając „zmień nazwę”.
Jak już zmienimy nazwę, należy kliknąć dwa razy lewym przyciskiem myszy na wartość i w okienku EDYTOWANIE WARTOŚCI DWORD zmienić „Dane wartości” z 0 na 1 (ilustracja poniżej).

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/6.png[/img]

OK. Czynność, którą wykonaliśmy należy powtórzyć, tym razem dla klucza:
[code]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\
Explorer][/code]

Tak jak powyżej, odnajdujemy klucz, I dodajemy wartość DWORD, następnie zmieniamy nazwę na “HideClock”, po czym dane wartości zmieniamy z 0 na 1.
Na koniec wystarczy zresetować komputer w celu odświeżenia rejestru lub (jak nie chce nam się czekać) wchodzimy do menedżera zadań Windows -> tak jak w:

http://www.lbryk.pl/forum/showthread.php?tid=48

znajdujemy w procesach exlorer.exe i zamykamy proces, po czym wybieramy PLIK-> Nowe Zadanie i wpisujemy exlorer.exe
… i mamy odświeżony rejestr… ale nie mamy zegarka 
A o to efekty naszej pracy:

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/7.png[/img]

[img]http://lbryk.pl/TUT/WindowsXp/HideClock/8.png[/img]

Print this item

Lightbulb [VB] Informacje połączenia Internetowego
Posted by: Łukasz - 12-29-2013, 03:02 AM - Forum: - No Replies

Cześć;
Dla programujących w C++ w wątku:

http://www.lbryk.pl/forum/showthread.php?tid=51

Mówiliśmy o programie, wyświetlającym informacje, tudzież status połączenia Internetowego. Programując w Visual Basic 6.0, również będziemy mogli taki gadżet dorzucić do swojego programu. Jednak tutaj zaprezentuje Wam nieco inne rozwiązanie…
Oczywiście na początku otwieramy nowy projekt w VB 6.0. Klikamy prawym przyciskiem myszy na pasek komponentów, znajdujących się standardowo z lewej strony kompilatora. Następnie z menu rozwijalnego wybieramy „Components…” (tak jak na obrazku poniżej).

[img]http://www.lbryk.pl/TUT/VisualBasic/polaczenia_inf/1.png[/img]

Otworzy się nam okno wyboru komponentów:

[img]http://www.lbryk.pl/TUT/VisualBasic/polaczenia_inf/2.png[/img]

Wybieramy „Microsoft Internet Transfer Control 6.0”, po czym klikamy „OK”.

[img]http://www.lbryk.pl/TUT/VisualBasic/polaczenia_inf/3.png[/img]

Jak widzimy w pasku komponentów „pokazał” nam się nowy komponent „Inet”. Przeciągamy go na naszą formę…

[img]http://www.lbryk.pl/TUT/VisualBasic/polaczenia_inf/4.png[/img]

Następnie przeciągamy na naszą formę komponent „button” (przycisk).
W Visual Studio C++, mieliśmy dużo prostsze zadanie, gdyż korzystaliśmy z gotowych rozwiązań. Tu musimy wprowadzić troszkę kodu…
W pasku narzędziowym wybieramy nowy moduł (Add module):

[img]http://www.lbryk.pl/TUT/VisualBasic/polaczenia_inf/5.png[/img]

Moduł możemy nazwać jak chcemy….
OK, teraz wkleimy trochę kodu, pozwalającego nam korzystanie z komponentu „Inet”. Generalnie chodzi o „zassanie”, „wyciągnięcie”, potrzebnych nam informacji o połączeniu. Tutaj w odróżnieniu z wątku w C++, wrzucimy całe źródło do modułu, dzięki, któremu (i małym modyfikacją), będziemy mogli „wykrywać” połączenia modemowe, LAN, itd. W tym toturialu nie będziemy dokładnie zagłębiali się w kod źródłowy modułu, gdyż głównie chodzi nam o uzyskaniu zapytania czy jesteśmy podłączeni do sieci, czy też nie…
No dobrze, wrzucamy, więc następujący kod w „Module1 (Module1)” (czy jak tam żeśmy nazwali moduł :P)

[code=vb]
Option Explicit

Public Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
'Połączenie PROXY
Public Const ProxyConnection As Long = &H4

'Zajęty modem...
Public Const ModemConnectionIsBusy As Long = &H8

'Offline
Public Const InternetIsOffline As Long = &H20

'Połączenie
Public Const InternetConnectionIsConfigured As Long = &H40

'Połączenie VIA Modem.
Public Const ModemConnection As Long = &H1

'Serwer zdalny jest instalowany.
Public Const RasInstalled As Long = &H10

'Połączenie VIA LAN.
Public Const LanConnection As Long = &H2
Public Function IsLanConnection() As Boolean
Dim dwflags As Long
Call InternetGetConnectedState(dwflags, 0&)
IsLanConnection = dwflags And LanConnection
End Function


Public Function IsModemConnection() As Boolean
Dim dwflags As Long
Call InternetGetConnectedState(dwflags, 0&)
IsModemConnection = dwflags And ModemConnection
End Function


Public Function IsProxyConnection() As Boolean
Dim dwflags As Long
Call InternetGetConnectedState(dwflags, 0&)
IsProxyConnection = dwflags And ProxyConnection
End Function


Public Function IsConnected() As Boolean
IsConnected = InternetGetConnectedState(0&, 0&)
End Function


Public Function IsRasInstalled() As Boolean
Dim dwflags As Long
Call InternetGetConnectedState(dwflags, 0&)
IsRasInstalled = dwflags And RasInstalled
End Function


Public Function ConnectionTypeMsg() As String
Dim dwflags As Long
Dim msg As String

If InternetGetConnectedState(dwflags, 0&) Then

If dwflags And InternetConnectionIsConfigured Then
msg = msg & "Internet connection is configured." & vbCrLf
End If

If dwflags And LanConnection Then
msg = msg & "Internet connection via a LAN"
End If

If dwflags And ProxyConnection Then
msg = msg & ", and connection is through a proxy server."
Else
msg = msg & "."
End If

If dwflags And ModemConnection Then
msg = msg & "Internet connection via a Modem"
End If

If dwflags And InternetIsOffline Then
msg = msg & "Internet connection is currently offline."
End If

If dwflags And ModemConnectionIsBusy Then
msg = msg & "Modem is busy with a non-Internet connection."
End If

If dwflags And RasInstalled Then
msg = msg & "Remote Access Services are installed on local system."
End If

Else
msg = "You are currently not connected to the internet."

End If

ConnectionTypeMsg = msg

End Function
[/code]

Jak już wspomniałem, moduł zawiera teraz szereg funkcji, umożliwiających korzystanie z “Inet” i wyciągających różnych informacji, dotyczących połączeń sieciowych.
Na koniec pozostało nam zaprogramowanie naszego „przycisku”, który wrzuciliśmy na formę. Dokładniej rzecz ujmując napiszemy teraz kod umożliwiający nam wyświetlenie informacji o połączeniu.
Klikamy dwa razy w nasz przycisk i dostajemy się do trybu kodowania i w miejscu pomiędzy:
[b][color=blue]Private Sub[/color] Command1_Click()[/b]
A
[b][color=blue]End Sub[/b][/color]
Piszemy lub wklejamy kod:

[code=vb]
If IsConnected() = True Then
Print "Mam neta"
Else
Print "Brak neta"
End If
[/code]

Oczywiście w tym przypadku wyświetlimy informacje na formie. Jeśli chcemy zrobić to tak jak w wątku z C++, wystarczy na formę „wrzucić” komponent label i zamiast Print wpisać label1.Text = „Mam neta:rolleyes:”
Pozostało nam jedynie przetestowanie programu…
Efekty powinny być następujące:

[img]http://www.lbryk.pl/TUT/VisualBasic/polaczenia_inf/6.png[/img]


Program z kodem źródłowym poniżej do ściągnięcia. Zalecam jednak samemu napisanie takiego programiku (szybciej chwycimy o co biega :shy:)

Print this item

Lightbulb [VC++] Informacje połączenia Internetowego
Posted by: Łukasz - 12-28-2013, 03:51 PM - Forum: - No Replies

Witam;
Dzisiaj pokażę Wam jak wyświetlać informacje o połączeniu z Internetem. Możemy tego użyć jako dodatku do programu, np. miły gadżet wyświetlający informacje o IP użytkownika lub czy jest połączony z Internetem, czy też nie… Dalej możemy rozwinąć tą funkcje w celach pracy programu, np. gdy nasz program ma za zadanie łączyć się z Internetem w celu wysłania jakiś informacji lub pobrania…
OK., ale do rzeczy…
Otwieramy nowy projekt w Microsoft Visual Studio C++. Z lewej strony wybieramy model aplikacji CLR, a z prawej „Windows Forms Application” . U dołu wpisujemy nazwę aplikacji oraz wybieramy folder źródłowy projektu.

[img]http://www.lbryk.pl/TUT/VC++/polaczenia_inf/1.png[/img]

Otworzy się nam projekt programu wraz z formą aplikacji. Klikamy dwukrotnie w formę aby wejść do kodowania. „Idziemy” na samą górę i wklejamy w miejscu gdzie mamy:
using namespace
następujący kod:

[code=cpp]
using namespace System::Net;
using namespace System::Net::NetworkInformation;
[/code]

Teraz przechodzimy znowu w tryb wizualny do poprzedniej formy i przeciągamy 2 komponenty:
- button
- label (ten komponent przeciągnij na formę trzy- krotnie)
Program ma wyglądać jak na zdjęciu:

[img]http://www.lbryk.pl/TUT/VC++/polaczenia_inf/2.png[/img]

OK. Pozostało nam odpowiednie zaprogramowanie. Klikamy dwa razy w przycisk (znów przechodzimy w tryb kodu). Jesteśmy teraz w miejscu gdzie powinniśmy wprowadzić nasz kod. Wciskamy enter by przejść do następnej linijki i piszemy bądź wklejamy następujący kod:

[code=cpp]
bool networkUp = System::Net::NetworkInformation::NetworkInterface::GetIsNetworkAvailable();
String^ myHost = System::Net::Dns::GetHostName();
// pobranie adresu IP
String^ myIP = System::Net::Dns::GetHostByName(myHost)->AddressList[0]->ToString();
// wyświetlenie hosta i IP
label1->Text = myIP;
label2->Text = myHost;
// wyświetlanie statusu połączenia
if (networkUp == true){
label3->Text = "Mam neta";
}
[/code]
Bool, bo potrzebujemy tylko zwrotnej informacji w postaci „true” (prawdy) lub „false” (nieprawda). Druga linijka kodu zwraca nazwę hosta (oczywiście inicjujemy typ String). Trzecia linijka kodu zwracać nam będzie informacje o numerze IP, oczywiście potrzebujemy przekształcenia (parsowania) na łańcuch znaków czyli typ String, gdyż będziemy wywoływali go w funkcji tekstowej komponentu label.
Następnie pozostało nam tylko wpisać odpowiednie zmienne w odpowiednich funkcjach komponentów
Label1 -> wyświetli IP
Label2 -> nazwę hosta
Oczywiście ostatnia funkcja if zainicjonowana jest po to by wpisywała nam w label3 odpowiedni tekst (czy jest połączony czy nie). Oczywiście jeśli rozłączymy z Internetem w label3 nic się nie pojawi, więc trzeba dopisać:

[code=cpp]
if (networkUp == true){
label3->Text = "Mam neta";
} else {
label3->Text = "Brak neta";
}
[/code]
Pozostało nam jedynie przetestowanie programu…
Efekty powinny być następujące:

[img]http://www.lbryk.pl/TUT/VC++/polaczenia_inf/3.png[/img]

Miłej zabawy :D

Print this item

  Szybkie przełączenie użytkownika :)
Posted by: WinnieCund - 09-14-2013, 11:26 PM - Forum: - No Replies

Siemanko,

Nie raz zdarzyło się że ktoś siadał nam na kompa gdy byliśmy zalogowani, przeglądał naszą korespondencje itp.

No ale cóż trzeba sobie wyrobić pewien nawyk, który pozwoli nam uniknąć takich cierpień.

No więc za każdym razem gdy odchodzimy od komputera używamy następującej kombinacji klawiszy:

[code]Lewy WINDOWS + L[/code]

Tym oto sposobem nastąpi przełączenie użytkownika ale nas nie wyloguje, czyli wszystkie programy i procesy trwają dalej :)

Print this item

Information Skrót klawiszowy do Menedżera Zadań Windows
Posted by: Łukasz - 09-10-2013, 02:34 AM - Forum: - No Replies

Z ciekawostek...

Aby szybko włączyć Menedżer zadań wystarczy użyć skrótu:

[code]
lewy ctrl + lewy shift + esc
[/code]

Print this item

Lightbulb [VBNET] Blokowanie kilkakrotnego otwierania programu
Posted by: Łukasz - 09-10-2013, 02:27 AM - Forum: - No Replies

Witam;
Aby zablokować otwieranie programu wicej niż raz należy "napisać" funkcję PrevInstance(), która będzie sprawdzała nam ile razy aplikacja została uruchomiona.

Zacznijmy od samej funkcji:

[code=vb]
Function PrevInstance() As Boolean ' musi zwracać prawdę lub fałsz
If UBound(Diagnostics.Process.GetProcessesByName _
(Diagnostics.Process.GetCurrentProcess.ProcessName)) _
> 0 Then
Return True
Else
Return False
End If
End Function
[/code]

Następnie w zdarzeniu Form_Load, wystarczy dopisać kod:

[code=vb]
If PrevInstance() Then
MsgBox("Program jest już otwarty!", MsgBoxStyle.Critical, "Mój Program v1.0")
End[/code]


Jeśli program zostanie uruchomiony więcej niż raz wyświetli komunikat po kliknięciu "ok" wyjdzie z programu.

Zobacz jak zrobić to w VB 6:
http://www.lbryk.pl/forum/showthread.php?tid=46

<small>Artykuł został napisany na podstawie:

http://stackoverflow.com/questions/3669026/how-to-convert-application-previnstance-in-vb-6-0-to-vb-net </small>

Print this item

Lightbulb [VB] Blokowanie kilkakrotnego otwierania programu
Posted by: Łukasz - 09-10-2013, 02:27 AM - Forum: - No Replies

Dzisiaj szybki tut, a właściwie kod :P.
Czasem potrzebujemy aby nasz program uruchamiał się tylko raz!
Aby zablokwać możliwość uruchomienia kilkakrotnego aplikacji potrzebujemy skorzystać z funkcji PrevInstance(). W Visual Basic 6 wystarczy w zdarzeniu Form_Load() wpisać:

[code=vb]
If App.PrevInstance = True Then MsgBox "Program jest już otwarty!", vbExclamation, "Mój Program v1.0": End [/code]

Jeśli program zostanie uruchomiony więcej niż raz wyświetli komunikat po kliknięciu "ok" wyjdzie z programu.

To wszystko :)

Trochę więcej pisania mają programiści w VbNet.
Więcej informacji tu: http://lbryk.pl/forum/showthread.php?tid=47

Print this item

Lightbulb [C#] Pobieranie tekstu ze stron www
Posted by: Łukasz - 09-06-2013, 07:13 AM - Forum: - No Replies

Obiecane pobieranie tekstu ze strony www, napisane w języku C#.
Deklarujemy w nagłówku:

[code=vbnet]
using System.Net;
using System.Text.RegularExpressions;
[/code]

Następnie w dowolnym zdarzeniu (np. button, form load) piszemy:

[code=vbnet]
WebClient client = new WebClient();
string content = client.DownloadString("http://adresstrony.pl"); //pobieramy treść z interesującego nasz adresu strony
[/code]

Na koniec w tym samym zdarzeniu dopisujemy linijkę kodu, który "wyciągnie" interesujący nas tekst lub dane. Oczywiście aby poprawnie tego uzywać, musimy zapoznać się z implementacją oraz znaczeniem tzw.[b] wyrażeniami regularnymi[/b] . Ja pozwolę sobie tutaj na użycie przykładu, znalezionego w sieci. A więc.. wyciągniemy tekst z pomiedzy znaczników:

[code=vbnet]
string text = Regex.Match(content, @"\<title\b[^>]*\>\s*(?<Title>[\s\S]*?)\</title\>",
RegexOptions.IgnoreCase).Groups["Title"].Value;
[/code]

Teraz przydałoby się gdzieś umieścić ten tekst np. na label lub textbox'ie, wystarczy więc dopisać kod:

[code=vbnet]
textBox1.Text = text;
[/code]

Oczywiście nie musi być text , może być to dowolnie inna zmienna, warto jedynie pamietać, że deklaracje tej zmiennej mamy powyżej w kodzie

[code=vbnet]
string text
[/code]

. To tak dla przypomnienia :D

Good luck!

Print this item

Lightbulb [C#]Informacje Windows, ShellAbout
Posted by: Łukasz - 09-06-2013, 06:51 AM - Forum: - No Replies

Cześć;
Na forum pisałem już poradnik jak uzyskać to okno:

[img]http://lbryk.pl/TUT/VisualBasic/about/1.png[/img]

w innych językach (mianowicie Visual Basic i C++ -> pod Borlanda oraz Visual'a). Dzisiaj przyszedł czas na C#.

Na początku wpisujemy:

[code=VBNET]
using System.Runtime.InteropServices;
[/code]

Następnie poniżej deklarujemy bibliotekę:

[code=VBNET]
[DllImport("shell32.dll")]
static extern int ShellAbout(IntPtr hWnd, string szApp, string szOtherStuff, IntPtr hIcon);
[/code]

Pamiętajmy aby powyższy kod wpisywać poniżej kodu na strukturę formy. Możemy to zrobić np. przed:

[code=VBNET]
private void Form1_Load(object sender, EventArgs e)
[/code]

Na koniec oczywiście umieszczamy wywołanie naszego okienka w dowolnym zdarzeniu (ja standardowo użyje button'a):

[code=VBNET]
private void button1_Click(object sender, EventArgs e)
{
ShellAbout(this.Handle, "Nazwa programu", "jakiś tam tekst np. data kompilacji", this.Icon.Handle);
}
[/code]

Print this item

Lightbulb [C#] Autouruchamianie programu wraz ze startem systemu
Posted by: Łukasz - 09-05-2013, 06:46 AM - Forum: - No Replies

Jest kilka metod nato, aby nasz program uruchamiał się wraz ze startem systemu. Najprosztsza metoda to utworzenie skrótu do programu w folderze Autostart.
Większość programów jednak tworzy klucz w rejestrze systemu operacyjnego. Dziś pokaże jak to zrobić z pozycji Visual Studio C++:

Najpierw na górze projektu piszemy kod:
[code=vbnet]
using System;
using Microsoft.Win32;
using Microsoft.VisualBasic;
[/code]

Następnie tworzymy klucz w rejestrze:

[code=vbnet]
RegistryKey klucz = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
klucz.SetValue("nazwa_programu", (char)'"' + Application.ExecutablePath + (char)'"');
klucz.Close(); // zamykamy klucz
[/code]

[b]Application.ExecutablePath [/b]jest to funkcja podająca pełną ścieżkę do naszego programu (np: c:\nazwa_programu.exe).
Jest to ważne aby przy starcie systemu program uruchamiał się z właściwego źródła. Jeśli mamy zamiar zmieniać miejsce programu na dysku dobrze by było aby klucz nadpisywać, np. przez zdarzenie 'Form load'.

Pozdrawiam

Print this item