- Itus nie cie do Ikei... Ituś nie cie do Ikei...
- A chcesz hotdoga? - zapytała Mamusia
- Ituś lubi hotdogi. Ituś cie do Ikei!
poniedziałek, 27 września 2010
Wyjazd do Baci
Babcia, nieco przerażona ekspresją Itusia i wizją nadchodzącej zagłady (tydzień z Itusiem) dostała zadanie - założyć mu pampersa na drogę. Ituś tradycyjnie - usiłuje spieprzyć z kanapy. Bacia, z niczym nie uzasadnioną nadzieją w głosie:
- Itulku, będziesz grzczny jak przyjedziesz do babci?...
Ituś (z charakterystycznym krzywym uśmieszkiem i radosnym rechocikiem:
- Będę broił!
- Itulku, będziesz grzczny jak przyjedziesz do babci?...
Ituś (z charakterystycznym krzywym uśmieszkiem i radosnym rechocikiem:
- Będę broił!
Odjazd!
Przygotowania do odjazdu. Dziadziuś zajęty samochodem, Ituś kombinuje: "Co by tu...". Usiłuje zatrzasnąć od środka drzwi od samochodu, co nie jest dobrym pomysłem - bo kluczyki w środku. Interweniuje Bacia:
- Itulku. nie wolno. Zatrzaśniesz samochód i co będzie????...
Ituś po krótkim namyśle ze śmiertelną powagą:
-Będzie problem!
- Itulku. nie wolno. Zatrzaśniesz samochód i co będzie????...
Ituś po krótkim namyśle ze śmiertelną powagą:
-Będzie problem!
wtorek, 21 września 2010
Literki
- A to "T" jak Tatuś! - wykrzyknął Ituś znajdując literkę "T" na kartonie.
- Tak! Świetnie! - pochwaliłem zadowolony.
- A to? - spytał Ituś pokazując "M"
- "M" jak Mama - odpowiedziałem.
- Nie.... Dzieci mają mamę... - westchnął Ituś.
Patrzyłem tępym wzrokiem najwyraźniej, bo postanowił dodać:
- My mamy Mamusię...
"No przecież!" wykrzyknąłem w myślach i palnąłem się mentalnie w czółko.
- Tak! Świetnie! - pochwaliłem zadowolony.
- A to? - spytał Ituś pokazując "M"
- "M" jak Mama - odpowiedziałem.
- Nie.... Dzieci mają mamę... - westchnął Ituś.
Patrzyłem tępym wzrokiem najwyraźniej, bo postanowił dodać:
- My mamy Mamusię...
"No przecież!" wykrzyknąłem w myślach i palnąłem się mentalnie w czółko.
poniedziałek, 20 września 2010
Lizaczek a mądrości życiowe
Ituś dostał lizaka od Mamusi. Lizał zadowolony, aż w pewnym momencie przyszedł i zapytał:
- A co jest w środku?
- Jak będziesz lizał, to lizaczek będzie coraz mniejszy, aż zobaczysz, co jest w środku. - odpowiedziałem
- A otłozić? - nie dawał za wygraną Ituś.
Próbowałem wytłumaczyć, że nie da się go otworzyć, ale jak będzie powoli jadł (lizał) to zobaczy.
Po chwili Ituś zaczął gryźć lizaka. Bardzo nam się to nie podobało, więc kilkukrotnie napominaliśmy Itusia i prosiliśmy, żeby tego nie robił. Niedługo później Mamusia wracając z łazienki zwróciła uwagę na charakterystyczny odgłos dochodzący zza zamkniętych drzwi sąsiedniego pokoju.
- Gryzie. Schował się przed nami i gryzie. - poinformowała mnie o odkryciu Mamusia.
Weszliśmy do pokoju i zastaliśmy Itusia z rozgryzionym na pół lizaczkiem w jednej ręce. Drugą w tym czasie zbierał kawałki drugiej połowy z podłogi pakując je do buzi. Na nasz widok stwierdził:
- Nic nie ma w środku! - z lekkim rozczarowaniem na twarzy.
Ciekawość wzięła górę. Ok, ale już zaspokojona. Awantury robić nie będziemy, ale zakaz trzeba nadal egzekwować. Tłumaczyłem zatem, że nie można gryźć lizaczka, ale do porozumienia nie doszliśmy. W związku z tym zarekwirowałem pozostałą część i odłożyłem do filiżanki wyjaśniając, że nie dostanie lizaczka, jeśli chce gryźć.
- A Tatuś abrał liziaćka! - poskarżył się Ituś Mamusi.
Mamusia wyjaśniła moje stanowisko. Zapytała, czy Ituś rozumie i czy będzie gryzł lizaczka.
- Tam się schowam! - oświadczył Ituś.
I pomimo, że tłumaczyliśmy mu, że nie chodzi o to żebyśmy tego nie widzieli, tylko żeby nie gryzł, wiadomo było, że Ituś odkrył jedną z prawd życiowych. Kara spotyka człowieka nie wtedy, gdy robi coś wbrew zakazom. Kara spotyka człowieka wtedy, gdy zostanie na tym przyłapany...
Na pocieszenie pozostaje nam fakt, że doszliśmy do porozumienia i Ituś dokończył lizaczka przy nas już nie gryząc. Ale mina mówiła sama za siebie...
- A co jest w środku?
- Jak będziesz lizał, to lizaczek będzie coraz mniejszy, aż zobaczysz, co jest w środku. - odpowiedziałem
- A otłozić? - nie dawał za wygraną Ituś.
Próbowałem wytłumaczyć, że nie da się go otworzyć, ale jak będzie powoli jadł (lizał) to zobaczy.
Po chwili Ituś zaczął gryźć lizaka. Bardzo nam się to nie podobało, więc kilkukrotnie napominaliśmy Itusia i prosiliśmy, żeby tego nie robił. Niedługo później Mamusia wracając z łazienki zwróciła uwagę na charakterystyczny odgłos dochodzący zza zamkniętych drzwi sąsiedniego pokoju.
- Gryzie. Schował się przed nami i gryzie. - poinformowała mnie o odkryciu Mamusia.
Weszliśmy do pokoju i zastaliśmy Itusia z rozgryzionym na pół lizaczkiem w jednej ręce. Drugą w tym czasie zbierał kawałki drugiej połowy z podłogi pakując je do buzi. Na nasz widok stwierdził:
- Nic nie ma w środku! - z lekkim rozczarowaniem na twarzy.
Ciekawość wzięła górę. Ok, ale już zaspokojona. Awantury robić nie będziemy, ale zakaz trzeba nadal egzekwować. Tłumaczyłem zatem, że nie można gryźć lizaczka, ale do porozumienia nie doszliśmy. W związku z tym zarekwirowałem pozostałą część i odłożyłem do filiżanki wyjaśniając, że nie dostanie lizaczka, jeśli chce gryźć.
- A Tatuś abrał liziaćka! - poskarżył się Ituś Mamusi.
Mamusia wyjaśniła moje stanowisko. Zapytała, czy Ituś rozumie i czy będzie gryzł lizaczka.
- Tam się schowam! - oświadczył Ituś.
I pomimo, że tłumaczyliśmy mu, że nie chodzi o to żebyśmy tego nie widzieli, tylko żeby nie gryzł, wiadomo było, że Ituś odkrył jedną z prawd życiowych. Kara spotyka człowieka nie wtedy, gdy robi coś wbrew zakazom. Kara spotyka człowieka wtedy, gdy zostanie na tym przyłapany...
Na pocieszenie pozostaje nam fakt, że doszliśmy do porozumienia i Ituś dokończył lizaczka przy nas już nie gryząc. Ale mina mówiła sama za siebie...
wtorek, 14 września 2010
No i nauczyłem...
- Pada desc, pada desc, paaa-daaa desc! - śpiewa Ituś wesoło. Śpiewa raz... Śpiewa drugi... I kolejny... Musi: podoba mu się. A mnie raz podkusiło i zanuciłem sobie coś mamrocząc pod nosem deko zniecierpliwiony... Raz oczywiście wystarczyło, żebym na-ten-tychmiast usłyszał pełne wigoru:
- Bangladesz, Bangladesz, Baaan-glaaa-desz!...
No i nauczyłem...
- Bangladesz, Bangladesz, Baaan-glaaa-desz!...
No i nauczyłem...
poniedziałek, 13 września 2010
Jak klikać myszką bez myszki?
Rozwiązanie tego problemu znalazłem tu:
http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/d4d99ad3-4cb2-423d-9f9d-18df47c7d164
Co wraz z innym postem pozwalającym na monitorowanie pozycji kursora i wyświetlanie jej w opisie okna dało taki rezultat:
Imports System.Runtime.InteropServices
Public Class Form1
_
Private Shared Function SendInput( _
ByVal cInputs As Integer, _
ByVal pInputs() As INPUT, _
ByVal cbSize As Integer) As Integer
End Function
_
Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByRef lParam As IntPtr) As IntPtr
End Function
_
Shared Function WindowFromPoint(ByVal pnt As Point) As IntPtr
End Function
Private Structure INPUT
Public dwType As Integer
Public mi As MOUSEINPUT
End Structure
_
Private Structure MOUSEINPUT
Public dx As Integer
Public dy As Integer
Public mouseData As UInteger
Public dwFlags As UInteger
Public time As UInteger
Public dwExtraInfo As IntPtr
End Structure
Private Structure MSLLHOOKSTRUCT
Public pt As Point
Public mouseData As Int32
Public flags As Int32
Public time As Int32
Public extra As IntPtr
End Structure
Const INPUT_MOUSE As Integer = 0
Const MOUSEEVENTF_LEFTDOWN As Integer = &H2
Const MOUSEEVENTF_LEFTUP As Integer = &H4
Const MOUSEEVENTF_MIDDLEDOWN As Integer = &H20
Const MOUSEEVENTF_MIDDLEUP As Integer = &H40
Const MOUSEEVENTF_MOVE As Integer = &H1
Const MOUSEEVENTF_ABSOLUTE As Integer = &H8000
Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
Const MOUSEEVENTF_RIGHTUP As Integer = &H10
Private _mouseHook As IntPtr
Private Const WH_MOUSE_LL As Int32 = 14
Private Delegate Function CallBack(ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32
Private _mouseProc As CallBack
Private Declare Function SetWindowsHookExW Lib "user32.dll" (ByVal idHook As Int32, ByVal HookProc As CallBack, ByVal hInstance As IntPtr, ByVal wParam As Int32) As IntPtr
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hook As IntPtr) As Boolean
Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal idHook As Int32, ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32
Private Declare Function GetCurrentThreadId Lib "kernel32.dll" () As Integer
Private Declare Function GetModuleHandleW Lib "kernel32.dll" (ByVal fakezero As IntPtr) As IntPtr
Public Function InstallHook() As Boolean
If _mouseHook = IntPtr.Zero Then
_mouseProc = New CallBack(AddressOf MouseHookProc)
_mouseHook = SetWindowsHookExW(WH_MOUSE_LL, _mouseProc, GetModuleHandleW(IntPtr.Zero), 0)
End If
Return _mouseHook <> IntPtr.Zero
End Function
Public Sub RemoveHook()
If _mouseHook = IntPtr.Zero Then Return
UnhookWindowsHookEx(_mouseHook)
_mouseHook = IntPtr.Zero
End Sub
Private Shared Function MouseHookProc(ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32
Debug.Print("Message = {0}, x={1}, y={2}", wParam.ToInt32, lParam.pt.X, lParam.pt.Y)
' Get the current cursor coordinate
Form1.Text = "Current Point: " & lParam.pt.X & " " & lParam.pt.Y
Return CallNextHookEx(WH_MOUSE_LL, nCode, wParam, lParam)
End Function
Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
RemoveHook()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InstallHook()
'Timer1.Enabled = True
HotKeyCheckTimer.Enabled = True
ClickTimer.Interval = 5000
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClickTimer.Tick
Dim inputs(2) As INPUT
For i As Integer = 0 To inputs.Length - 1
inputs(i).dwType = INPUT_MOUSE
Next
' First move the mouse...
inputs(0).mi.dwFlags = MOUSEEVENTF_MOVE Or MOUSEEVENTF_ABSOLUTE
' Get the start button location.
Dim newMousePosition As New System.Drawing.Point
Dim oldMousePosition As New System.Drawing.Point
' remember current pos
newMousePosition.X = TB_X.Text
newMousePosition.Y = TB_Y.Text
' We'll move it with the api. This ensures it happens with the other mouse input
' The api uses weird co-ordinates. translate and set.
inputs(0).mi.dx = CInt(newMousePosition.X * (65535 / Screen.PrimaryScreen.Bounds.Width))
inputs(0).mi.dy = CInt(newMousePosition.Y * (65535 / Screen.PrimaryScreen.Bounds.Height))
' Then send the buttons.
inputs(1).mi.dwFlags = MOUSEEVENTF_LEFTDOWN
inputs(2).mi.dwFlags = MOUSEEVENTF_LEFTUP
Dim cbSize As Integer = Marshal.SizeOf(inputs(0))
Dim result As Integer = SendInput(inputs.Length, inputs, cbSize)
If result = 0 Then
Throw New System.ComponentModel.Win32Exception
End If
TB_X.Text = TB_X.Text + 10
TB_Y.Text = TB_Y.Text + 10
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ClickTimer.Stop()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ClickTimer.Start()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = TextBox1.Text + 1
End Sub
Private Sub B_SetInterval_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_SetInterval.Click
ClickTimer.Interval = TB_TimerInterval.Text
End Sub
Private Sub HotKeyCheckTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HotKeyCheckTimer.Tick
Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.F1)
Dim hotkey1 As Boolean
hotkey1 = GetAsyncKeyState(Keys.F2)
If hotkey = True Then
ClickTimer.Start()
TB_Status.BackColor = Color.Green
End If
If hotkey1 = True Then
ClickTimer.Stop()
TB_Status.BackColor = Color.Red
End If
End Sub
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
End Class
http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/d4d99ad3-4cb2-423d-9f9d-18df47c7d164
Co wraz z innym postem pozwalającym na monitorowanie pozycji kursora i wyświetlanie jej w opisie okna dało taki rezultat:
Imports System.Runtime.InteropServices
Public Class Form1
Private Shared Function SendInput( _
ByVal cInputs As Integer, _
ByVal pInputs() As INPUT, _
ByVal cbSize As Integer) As Integer
End Function
Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByRef lParam As IntPtr) As IntPtr
End Function
Shared Function WindowFromPoint(ByVal pnt As Point) As IntPtr
End Function
Private Structure INPUT
Public dwType As Integer
Public mi As MOUSEINPUT
End Structure
Private Structure MOUSEINPUT
Public dx As Integer
Public dy As Integer
Public mouseData As UInteger
Public dwFlags As UInteger
Public time As UInteger
Public dwExtraInfo As IntPtr
End Structure
Private Structure MSLLHOOKSTRUCT
Public pt As Point
Public mouseData As Int32
Public flags As Int32
Public time As Int32
Public extra As IntPtr
End Structure
Const INPUT_MOUSE As Integer = 0
Const MOUSEEVENTF_LEFTDOWN As Integer = &H2
Const MOUSEEVENTF_LEFTUP As Integer = &H4
Const MOUSEEVENTF_MIDDLEDOWN As Integer = &H20
Const MOUSEEVENTF_MIDDLEUP As Integer = &H40
Const MOUSEEVENTF_MOVE As Integer = &H1
Const MOUSEEVENTF_ABSOLUTE As Integer = &H8000
Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
Const MOUSEEVENTF_RIGHTUP As Integer = &H10
Private _mouseHook As IntPtr
Private Const WH_MOUSE_LL As Int32 = 14
Private Delegate Function CallBack(ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32
Private Declare Function SetWindowsHookExW Lib "user32.dll" (ByVal idHook As Int32, ByVal HookProc As CallBack, ByVal hInstance As IntPtr, ByVal wParam As Int32) As IntPtr
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hook As IntPtr) As Boolean
Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal idHook As Int32, ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32
Private Declare Function GetCurrentThreadId Lib "kernel32.dll" () As Integer
Private Declare Function GetModuleHandleW Lib "kernel32.dll" (ByVal fakezero As IntPtr) As IntPtr
Public Function InstallHook() As Boolean
If _mouseHook = IntPtr.Zero Then
_mouseProc = New CallBack(AddressOf MouseHookProc)
_mouseHook = SetWindowsHookExW(WH_MOUSE_LL, _mouseProc, GetModuleHandleW(IntPtr.Zero), 0)
End If
Return _mouseHook <> IntPtr.Zero
End Function
Public Sub RemoveHook()
If _mouseHook = IntPtr.Zero Then Return
UnhookWindowsHookEx(_mouseHook)
_mouseHook = IntPtr.Zero
End Sub
Private Shared Function MouseHookProc(ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32
Debug.Print("Message = {0}, x={1}, y={2}", wParam.ToInt32, lParam.pt.X, lParam.pt.Y)
' Get the current cursor coordinate
Form1.Text = "Current Point: " & lParam.pt.X & " " & lParam.pt.Y
Return CallNextHookEx(WH_MOUSE_LL, nCode, wParam, lParam)
End Function
Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
RemoveHook()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InstallHook()
'Timer1.Enabled = True
HotKeyCheckTimer.Enabled = True
ClickTimer.Interval = 5000
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClickTimer.Tick
Dim inputs(2) As INPUT
For i As Integer = 0 To inputs.Length - 1
inputs(i).dwType = INPUT_MOUSE
Next
' First move the mouse...
inputs(0).mi.dwFlags = MOUSEEVENTF_MOVE Or MOUSEEVENTF_ABSOLUTE
' Get the start button location.
Dim newMousePosition As New System.Drawing.Point
Dim oldMousePosition As New System.Drawing.Point
' remember current pos
newMousePosition.X = TB_X.Text
newMousePosition.Y = TB_Y.Text
' We'll move it with the api. This ensures it happens with the other mouse input
' The api uses weird co-ordinates. translate and set.
inputs(0).mi.dx = CInt(newMousePosition.X * (65535 / Screen.PrimaryScreen.Bounds.Width))
inputs(0).mi.dy = CInt(newMousePosition.Y * (65535 / Screen.PrimaryScreen.Bounds.Height))
' Then send the buttons.
inputs(1).mi.dwFlags = MOUSEEVENTF_LEFTDOWN
inputs(2).mi.dwFlags = MOUSEEVENTF_LEFTUP
Dim cbSize As Integer = Marshal.SizeOf(inputs(0))
Dim result As Integer = SendInput(inputs.Length, inputs, cbSize)
If result = 0 Then
Throw New System.ComponentModel.Win32Exception
End If
TB_X.Text = TB_X.Text + 10
TB_Y.Text = TB_Y.Text + 10
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ClickTimer.Stop()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ClickTimer.Start()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = TextBox1.Text + 1
End Sub
Private Sub B_SetInterval_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_SetInterval.Click
ClickTimer.Interval = TB_TimerInterval.Text
End Sub
Private Sub HotKeyCheckTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HotKeyCheckTimer.Tick
Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.F1)
Dim hotkey1 As Boolean
hotkey1 = GetAsyncKeyState(Keys.F2)
If hotkey = True Then
ClickTimer.Start()
TB_Status.BackColor = Color.Green
End If
If hotkey1 = True Then
ClickTimer.Stop()
TB_Status.BackColor = Color.Red
End If
End Sub
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
End Class
Subskrybuj:
Posty (Atom)