তারিখ অনুসারে বাছাই করার জন্য কীবোর্ড শর্টকাট


0

এখানে নুব আমি যখনই ফাইল এক্সপ্লোরার-এ থাকি তখন পরিবর্তিত তারিখ অনুসারে বাছাই করতে অটোহোট কী ব্যবহার করছি।

সমস্যাটি হ'ল কিছু ফোল্ডারে যদি কলামগুলির ক্রমটি আলাদা হয় তবে আমার স্ক্রিপ্টটি কাজ করে না।

তারিখের জন্য একটি অনন্য কোড আছে কি কেউ জানেন?


কোন বিশেষ অপারেটিং সিস্টেম?
মোয়াব

ক্ষমা প্রার্থনা উইন্ডোজ 7 64 বিট
এএমএসজিএইচ

উত্তর:


1

এটি এক্সপ্লোরার উইন্ডোতে বোতামটি (যা আপনি ক্লিক করবেন) সন্ধান করার জন্য অ্যাক্সেসিবিলিটি ফাংশনগুলি ব্যবহার করে এবং পরে প্রোগ্রামিকভাবে এটি সম্পাদন করে।

দুর্ভাগ্যক্রমে, দেখা যাচ্ছে যে অ্যাক্সেসিবিলিটি লাইব্রেরি ( acc.ahk) ডাউনলোড করার লিঙ্কটি আর বৈধ নয় ( https://autohotkey.com/board/topic/77303-acc-library-ahk-l-updated-09272012/ ), তাই আপনি অন্য ফোরামের পৃষ্ঠাগুলির একটির অনুলিপি (সম্ভবত নতুন ফোরামে শুরু হওয়া) বা কোথাও গিথুব পাওয়া দরকার, এবং তারপরে নীচে অতিরিক্ত বর্ধিত ফাংশন অন্তর্ভুক্ত করুন।

নীচের কোডের জন্য, অ্যাক্সেসিবিলিটি ফাংশনগুলিতে কোন নিয়ন্ত্রণ নাম এবং চাইল্ডপথকে আর্গুমেন্ট হিসাবে ব্যবহার করবেন কীভাবে তা নির্ধারণ করতে হবে তা নির্ধারণের জন্য এখানে ব্যাখ্যা করার সুযোগের বাইরে, তবে সেগুলি Spy++এবং এটি ব্যবহার করে নির্ধারণ করা যেতে পারে Accessibility Info Viewer

যখন মৃত্যুদন্ড কার্যকর করা হয়, এই কোডটি বাছাই করা কলাম শিরোনামের বোতামে মাউস ক্লিক করার মতোই প্রভাব ফেলেছে, সুতরাং এটি যদি একভাবে সাজানো হয় তবে এটি কার্যকর করে অন্য পদ্ধতিতে সাজানো হবে।

আপনি যদি অন্য ক্ষেত্রগুলির মধ্যে একটি অনুসারে বাছাই করতে চান তবে আপনি মাইনেম আর্গুমেন্টে "তারিখ" প্রতিস্থাপন করতে অন্য কলামগুলির মধ্যে একটির (নাম, প্রকার ইত্যাদি) অনুসারে বাছাই করতে পারেন।

এই acc.ahkকোডটির উপরে উল্লিখিত হিসাবে প্রয়োজন এবং এক্সপ্লোরার উইন্ডোর জন্য তারিখ অনুসারে বাছাই করার জন্য কাজ করা পরীক্ষা করা হয়। এটি কলামের নাম পরিবর্তন বা ঘুরিয়ে দেওয়ার বিরুদ্ধেও দৃ is় কারণ কারণ acc_doIfChildName()উপস্থিত কলামের তালিকার মাধ্যমে কলটি পুনরাবৃত্তি হয়, যতক্ষণ না এটি প্রবেশ করা myNameআর্গুমেন্টটি আবিষ্কার করে এবং তারপরে সেই বোতামটির জন্য ডিফল্ট অ্যাকশন কার্যকর করে। যদি এটি কোনও মিলে যাওয়া বোতামটি না পায় তবে এটি কেবল ফেরতের মূল্যের Falseজন্য foundAndExecutedফিরে আসবে।

#Persistent
#SingleInstance, Force
#NoEnv

;-----------------------------------------------------------------------------------------------------------------------
; Press F2 to Sort by date in any active Explorer window
;-----------------------------------------------------------------------------------------------------------------------
#IfWinActive ahk_class CabinetWClass ahk_exe Explorer.exe
F2::
    Tooltip % "Sorting by date..."  ; acc functions can take a second, show user status in progress...

    myHwnd:=ControlGet(cmd:="Hwnd", val:="", ctl:="ShellView", "ahk_class CabinetWClass ahk_exe explorer.exe")
    retVal:=acc_doIfChildName(myName:="Date", childPath:="4.1.4.1", statusBarObj:="ahk_id" myHwnd, loopBackward:=False)    

    Tooltip   ; clear status Tooltip
Return
#IfWinActive

ExitApp

#Include acc.ahk

;-----------------------------------------------------------------------------------------------------------------------
; acc_doIfChildName() - Iterate all children looking for the correct childname to try and execute...
;-----------------------------------------------------------------------------------------------------------------------
acc_doIfChildName(myName, childPathArg, myWinTitleOrObj, loopBackward:=False, startIndex:=1) {

    ;-------------------------------------------------------------------------------
    ; Set for multiple dialogs below during debugging
    ;-------------------------------------------------------------------------------
    debug:=False

    Loop, % childCount:=acc_get("childCount", childPathArg, childID:=0, myWinTitleOrObj) {

        If acc_doIfName(myName, childPath:=childPathArg "." (loopBackward ? childCount+1-A_Index : A_Index), myWinTitleOrObj)       ; Loop backwards to find faster since it will be at the end
            Return foundAndExecuted:=True
        Else If debug {
            ctlName :=acc_get("name",  childPath, childID:=0, myWinTitleOrObj)
            ctlValue:=acc_get("value", childPath, childID:=0, myWinTitleOrObj)
            MsgBox % "A_Index=" A_Index "`n" . "ctlName=" ctlName "`n" . "ctlValue=" ctlValue "`n"
        }
    }

    Return foundAndExecuted:=False
}


;-----------------------------------------------------------------------------------------------------------------------
; acc_doIfName() - doDefaultAction() if searchItemName matches the control name at childPath
;-----------------------------------------------------------------------------------------------------------------------
acc_doIfName(myName, childPath, myWinTitle) {
    Return acc_doIf("Name", myName, childPath, myWinTitle)
}



;-----------------------------------------------------------------------------------------------------------------------
; acc_doIf() - doDefaultAction() if field and value match correctly for childPath
;-----------------------------------------------------------------------------------------------------------------------
acc_doIf(accField, searchItem, childPath, myWinTitle) {

    foundAndExecuted:=False
    Try { 
        If ((ctlName:=acc_get(accField, ChildPath, childID:=0, myWinTitle))=searchItem) {

            oAcc := acc_Get("Object", ChildPath, ChildID, myWinTitle)
            oAcc.accDoDefaultAction(ChildID)
            foundAndExecuted:=True
        }
    }

    Return foundAndExecuted
}



;-----------------------------------------------------------------------------------------------------------------------
; ControlGet()
;-----------------------------------------------------------------------------------------------------------------------
ControlGet(Cmd, Value:="", Control:="", WinTitle:="", WinText:="", ExcludeTitle:="", ExcludeText:="") {
    ControlGet, v, % Cmd, % Value, % Control, % WinTitle, % WinText, % ExcludeTitle, % ExcludeText
    Return, v
}

আমি নতুন স্ক্রিপ্ট চেষ্টা করেছি এবং acc.ahk। দেখে মনে হচ্ছে আমি acc.ahk এ ত্রুটি পেয়েছি। Acc_ObjectFromPoint (ByRef idChild =, x =, y =) ত্রুটি: অসমর্থিত প্যারামিটার ডিফল্ট
এএমএসজিএইচ

হালনাগাদ. আমি মনে করি আমি সেই লাইনটি স্থির করেছি। এখন আমি লাইন 73
এএমএসজিএইচ

আপডেট এখন কাজ করছে ... জানি না কিভাবে।
এএমএসজিএইচ

আপডেট - কোড ডাউনলোড ফোল্ডারে থাকা ব্যতীত প্রতিটি ফোল্ডারে কাজ করে ... সি: \ ব্যবহারকারী \ ব্যবহারকারীর নাম \ ডাউনলোডগুলি
এএমএসজিএইচ

অনুভূমিক এবং / অথবা উল্লম্ব স্ক্রোল বারগুলি দৃশ্যমান (বনাম কোনও দৃশ্যমান স্ক্রোল বার নয়?) কার্যকারিতা পরিবর্তিত হয় কিনা আপনি কি বলতে পারবেন? আমি অ্যাক্সেসিবিলিটি অবজেক্টগুলির ক্রমটি দেখেছি এবং দেখে মনে হচ্ছে যে স্ক্রোল বারগুলি চাইল্ডপ্যাথের তালিকাতে প্রদর্শিত হবে যখন তারা সাজানোর (কলামের বোতামগুলির বাছাই করার আগে) করবে। সমস্যাটি যদি লেখার চাইল্ডপ্যাথের অতীতগুলি গণনা করার জন্য সম্ভবত অতিরিক্ত কাজ করতে হবে।
জে জনস্টন 2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.