[OT] [AHK] zaklady prace s AHK

Moderated forum for Slovak and Czech users

Moderator: Hacker

Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

Ahoj, dalsi zajimavy dotaz:
mejme otevreny soubor (napr. v excelu).
slo by dat jmeno tohoto souboru s cestou do schranky nebo promenne?
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

No, v Exceli 2007 by bolo mozne zistit iba meno daneho suboru, v inych Exceloch neviem. Skus sa pohrat s Window Spy.
Este ohladom toho predosleho, nic mi zial nenapadlo. :(

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

excelem umim dat jmeno do bunky, myslela jsem jestli nejde neco pomoci ahk (nejaka fce). no nevadi. diky!
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

No, funkcia nie, z nazvu okna to vie zistit. :)

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

Tak me napada, existuje, nebo slo by napsat nejaky environment pro AHK ktery by po napsani prikazu (serie prikazu) provedl vysledek?
neco jako shell v linuxu. aby uzivatel nemusel vytvaret "zkusebni" program a spoustet ho
napr.
chci zjistit jak funguje
msgbox
po napsani
msgbox a a zmacknuti enter by provedl prikaz
a=ahoj ; msgbox %a% enter by provedl prikaz(y)
a=ahoj ; msgbox a enter by provedl prikaz(y)
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Tak me napada, existuje, nebo slo by napsat nejaky environment pro AHK ktery by po napsani prikazu (serie prikazu) provedl vysledek?
neco jako shell v linuxu. aby uzivatel nemusel vytvaret "zkusebni" program a spoustet ho
napr.
chci zjistit jak funguje
msgbox
po napsani
msgbox a a zmacknuti enter by provedl prikaz
No, neviem, ci take nieco existuje, ale zlozite by to asi nebolo, jeden GUI riadok, ktory by po Entere skopiroval sam seba do AHK skriptu a spustil ho.
a=ahoj ; msgbox %a% enter by provedl prikaz(y)
a=ahoj ; msgbox a enter by provedl prikaz(y)
Tomuto som celkom neporozumel.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

jedno vyhodi "ahoj", druhe "a"
proste kdyz zacatecnik jako ja nezna syntaxi.
mohl bys mi prosim neco takoveho napsat?
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Terka,
mohl bys mi prosim neco takoveho napsat?
Take jednoduche to zas nie je. :) V GUI sa nevyznam, a kedze tam chces aj premenne, nestaci jeden riadok. Ale ak by si to napisala na AHK fore, urcite by sa niekto skusenejsi nasiel.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Terka,
Mozno toto tutok take je co hladas.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

Romane, diky za odpovedi.
Vyzkousela jsem fci execute, ale neni to ono, viz diskuse o e("msgbox",x).
zkusim napsat cos mi radil, psala bych to v libovolnem textaku a misto enter by se to spoustelo jinou kombinaci.
Kdybys nekdy na neco narazil, co by vypadalo jako "debugger" pro ahk, dej mi plz vedet.
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

Romane,
slo by kdyz po f7 napise, ze adr. uz existuje, aby TC rovnou skocil do onoho adresare?
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Ahoj Terka,
Mas stastie, ze nemam nic lepsie tento vecer na robote. :)

Code: Select all

DetectHiddenText, On

Loop
{
	WinText =
	DirName1 =
	PID =
	TCPath =
	sFilePath =
	FoundPos =

	WinWaitActive, Total Commander ahk_class #32770

	WinGetText, WinText
	FoundPos := RegExMatch(WinText, "OK\r\nError: Directory \[(.*)\]\ralready exists!\rPlease specify a different name\.", DirName)
	
	IfEqual, FoundPos, 0
		Continue

	WinWaitActive, ahk_class TTOTAL_CMD
	WinGet, PID, PID

	VarSetCapacity(sFilePath, 260)
	VarSetCapacity(sCmdLine, 512)

	pFunc := DllCall("GetProcAddress", "Uint", DllCall("GetModuleHandle", "str", "kernel32.dll"), "str", "GetCommandLineA")
	hProc := DllCall("OpenProcess", "Uint", 0x043A, "int", 0, "Uint", pid)
	hThrd := DllCall("CreateRemoteThread", "Uint", hProc, "Uint", 0, "Uint", 0, "Uint", pFunc, "Uint", 0, "Uint", 0, "Uint", 0)

	DllCall("WaitForSingleObject", "Uint", hThrd, "Uint", 0xFFFFFFFF)
	DllCall("GetExitCodeThread", "Uint", hThrd, "UintP", pcl)
	DllCall("ReadProcessMemory", "Uint", hProc, "Uint", pcl, "str", sCmdLine, "Uint", 512, "Uint", 0)

	DllCall("psapi\GetModuleFileNameExA", "Uint", hProc, "Uint", 0, "str", sFilePath, "Uint", 260)

	DllCall("CloseHandle", "Uint", hThrd)
	DllCall("CloseHandle", "Uint", hProc)

	WinGetText, TCWindowText
	Loop, Parse, TCWindowText, `n, `r
		If (SubStr(A_LoopField, 0) = ">")
		{
			StringTrimRight, TCPath, A_LoopField, 1
			Break
		}

	Run, "%sFilePath%" /O /S "/L=%TCPath%\%DirName1%"
}
Samozrejme, funguje to iba ked je v TC nastavena anglictina, inac treba upravit ten RegExMatch.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

diky!!
ten kod vypada docela hrozive.
Pouzivam TC v cestine, RE si upravim.
Terka
Terka
Senior Member
Senior Member
Posts: 326
Joined: 2006-05-24, 09:04 UTC

Post by *Terka »

Romane, da se to integrovat do meho skriptu, co vypada takto?
nebo kvuli loopu to musi bezet separatne?

#IfWinActive, ahk_class TTOTAL_CMD

$+F5::
#Include c:\ahk\tc\tc_backup_shift_f5.ahk

$^c:: ;copy - names, full_names, path to clipboard
#Include c:\ahk\tc\TC_copy.ahk

$f7::
#include TVUJ SKRIPT
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Terka,
Ono, vela veci sa da zjednodusit, ak zadas cestu k TC priamo do premennej v skripte, aby si ju nemusel cucat sam zo zakuti Windowsu. Skusim napisat kratsiu verziu trochu neskor, a aj s tym F7 sa to bude dat.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply