Commit Graph
100 Commits
Author SHA1 Message Date
yyc12345 23d7045ec1 doc: add docstrings for win32 module 2026-06-25 21:47:38 +08:00
yyc12345 3492f93c83 fix: fix the reference to unlink from link 2026-06-25 15:38:36 +08:00
yyc12345 d1de56a21d feat: modify ppic example for the latest ppic 2026-06-25 15:27:41 +08:00
yyc12345 880f90211b feat: update error notes for wfassoc 2026-06-25 13:42:23 +08:00
yyc12345 1a44240f88 feat: update qwfassoc 2026-06-23 21:38:54 +08:00
yyc12345 071347f4d4 feat: include ai first step works 2026-06-23 20:46:56 +08:00
yyc12345 821b865f2d refactor: add WF prefix for c/c++ binding members 2026-06-17 21:40:19 +08:00
yyc12345 50f01429b0 doc: update readme 2026-06-17 21:23:27 +08:00
yyc12345 930a84a0f6 doc: add doc for test instruction 2026-06-01 22:08:25 +08:00
yyc12345 447d94fdd6 fix: add arbitrarily_delete_value and fix various bugs for lowlevel and highlevel 2026-05-29 09:46:59 +08:00
yyc12345 f0bd2c0b73 feat: add arbitrarily_delete_subkey_all for regext 2026-05-29 08:58:15 +08:00
yyc12345 119a4d0341 feat: add highlevel test 2026-05-28 21:34:42 +08:00
yyc12345 53b40a4d2f feat: add test for lowlevel 2026-05-28 21:03:50 +08:00
yyc12345 0533cdab23 test: add test for default icon resource 2026-05-27 19:12:52 +08:00
yyc12345 8c61aa1e1d feat: remove some optional in rust and cbindgen 2026-05-27 13:16:51 +08:00
yyc12345 77924b5937 feat: update cbindgen 2026-05-27 12:30:03 +08:00
yyc12345 2c811503a2 feat: update program and cdylib exposed interface 2026-05-27 10:38:45 +08:00
yyc12345 18a55272a3 ai: update tasks 2026-05-25 23:26:11 +08:00
yyc12345 1658127bdd doc: add some prompt for qwfassoc 2026-05-25 16:34:35 +08:00
yyc12345 72a8c13c1f feat: add c++ wfassoc wrapper 2026-05-19 20:34:12 +08:00
yyc12345 aececd8e5d feat: entirely remove old pure C project 2026-05-19 14:22:45 +08:00
yyc12345 883cba901c feat: updte wfassoc C header 2026-05-19 14:21:01 +08:00
yyc12345 a1874f3682 feat: update wfassoc C header 2026-05-19 12:54:59 +08:00
yyc12345 3c429b6c51 feat: remove all old useless code 2026-05-19 11:04:25 +08:00
yyc12345 a4d2f7bc26 feat: finish all highlevel function and expose them to cdylib 2026-05-19 10:59:57 +08:00
yyc12345 658806e9ff refactor: seperate highlevel into 2 individual files 2026-05-19 10:26:17 +08:00
yyc12345 f8db414da3 fix: fix the behavior of highlevel fetching string and icon 2026-05-18 21:26:02 +08:00
yyc12345 bc419f8d5e fix: fix refstr concept issue 2026-05-18 21:14:26 +08:00
yyc12345 3b0080849d fix: fix expand string error 2026-05-18 20:46:31 +08:00
yyc12345 53cc8edcfd fix: update blank guard usage and fix issue 2026-05-18 17:04:11 +08:00
yyc12345 1086039dcb feat: finish all lowlevel function 2026-05-18 16:40:06 +08:00
yyc12345 ae0231fe69 refactor: seperate lowlevel into 4 individual submodules 2026-05-18 16:27:39 +08:00
yyc12345 4205ef18d3 feat: write some content for lowlevel 2026-05-18 16:00:29 +08:00
yyc12345 bbcea1f4d2 feat: add more guard and const in lowlevel 2026-05-18 15:43:16 +08:00
yyc12345 91c7fdda70 feat: finish cdylib ffi and improve ffi C header 2026-05-18 13:33:57 +08:00
yyc12345 f1a7cb89e5 feat: add ext status for cdylib 2026-05-17 16:02:39 +08:00
yyc12345 fe9f839091 feat: finish default icon and friendly app name for application subkey 2026-05-17 15:34:18 +08:00
yyc12345 9d3467ea26 feat: add application subkey shell verb function 2026-05-17 14:28:29 +08:00
yyc12345 9d02a2187f feat: add some boring function in lowlevel 2026-05-17 12:37:14 +08:00
yyc12345 c164bb73bc feat: add two registry utility functions 2026-05-16 22:35:36 +08:00
yyc12345 92ec83b8d7 feat: remove cbindgen. use manual writing instead (actually AI writing) 2026-05-16 13:58:12 +08:00
yyc12345 8d7f96d499 feat: add cbindgen support 2026-05-15 17:02:29 +08:00
yyc12345 684a24fcf8 feat: update cdylib 2026-05-15 16:00:54 +08:00
yyc12345 5c182bb4d3 feat: add all schema functions in cdylib project 2026-05-11 14:24:28 +08:00
yyc12345 9e9aa282b1 feat: use macro to simplify cdylib decl 2026-05-11 13:54:47 +08:00
yyc12345 76ddddb6cd feat: fix LazyLock issue and add something in cdylib 2026-05-11 13:33:01 +08:00
yyc12345 f0e610f8c8 feat: add example for cdylib 2026-05-10 23:16:56 +08:00
yyc12345 7d92f9a4a0 feat: fix cstr ffi again 2026-05-10 16:55:09 +08:00
yyc12345 1a45b309e7 feat: update cdylib cstr ffi module 2026-05-10 16:43:25 +08:00
yyc12345 7f36375a73 refactor: remove old exec file 2026-05-09 20:10:15 +08:00
yyc12345 a6322bff51 feat: finish exec runner 2026-05-09 20:07:08 +08:00
yyc12345 6804b96078 feat: add object pool for cdylib 2026-05-09 16:27:04 +08:00
yyc12345 d4b52efee0 feat: fix exec runner issue 2026-05-08 14:14:55 +08:00
yyc12345 ec5c78e8ce feat: finish highlevel 2026-05-08 14:08:51 +08:00
yyc12345 e325ba08f1 feat: finish highlevel register 2026-05-08 10:56:47 +08:00
yyc12345 03d17fad6e feat: finish highlevel unregister 2026-05-08 10:45:43 +08:00
yyc12345 8f762928db feat: finish highlevel register function 2026-05-08 10:41:33 +08:00
yyc12345 94f868ebda doc: add some doc in highlevel 2026-05-07 21:09:08 +08:00
yyc12345 2da84f8797 feat: finish highlevel convertion 2026-05-07 20:56:23 +08:00
yyc12345 fe81541eeb feat: update highlevel parse 2026-05-07 13:21:35 +08:00
yyc12345 3edb08efc7 feat: add func in lowlevel 2026-05-06 21:44:40 +08:00
yyc12345 edb9d0a14d feat: add some lowlevel functions 2026-05-06 21:39:13 +08:00
yyc12345 c6fa89f15f doc: add preface about goal of this lib 2026-04-30 21:56:02 +08:00
yyc12345 01302214c2 feat: rename some func name in lowlevel 2026-04-30 13:12:58 +08:00
yyc12345 e6ac59d85c feat: add shell verb struct 2026-04-30 13:09:59 +08:00
yyc12345 1df7191a36 fix: rename losse icon and string res into variant 2026-04-30 13:04:59 +08:00
yyc12345 66dc8c2630 fix: resotre highlevel program internal struct 2026-04-30 13:02:49 +08:00
yyc12345 6096265017 feat: add placeholder cmdline concept 2026-04-30 12:59:37 +08:00
yyc12345 5f9c893d95 feat: finish lowlevel application key decl 2026-04-30 10:16:52 +08:00
yyc12345 2fff56b74d feat: add losse StrRefStr and IconRefStr 2026-04-30 10:01:22 +08:00
yyc12345 94db3fdfd4 feat: introduce territory in lowlevel 2026-04-29 20:37:19 +08:00
yyc12345 10b27c0fc2 feat: add verb concept 2026-04-29 18:58:51 +08:00
yyc12345 e8ff9a3e4f feat: write some lowlevel code 2026-04-29 13:11:12 +08:00
yyc12345 6ff42928f1 feat: write some highlevel code 2026-04-23 13:17:25 +08:00
yyc12345 fed02ad9bc feat: update highlevel 2026-04-22 14:53:22 +08:00
yyc12345 fc2097560c feat: improve wfassoc-exec 2026-04-21 16:30:25 +08:00
yyc12345 3e588f0ac9 doc: update some doc 2026-04-19 16:10:04 +08:00
yyc12345 c650290df6 feat: finish manifest convertion 2026-04-17 15:43:39 +08:00
yyc12345 a7a9a71e80 feat: update wfassoc-exec 2026-04-17 15:24:22 +08:00
yyc12345 e9ca5dd5ec feat: make a clear boundary for lowlevel and highlevel API 2026-04-17 15:01:28 +08:00
yyc12345 d2bd4425df refactor: rename project name from underline to dash 2026-04-17 14:52:13 +08:00
yyc12345 1509723ada refactor: move something and implement FileName 2026-04-15 15:13:24 +08:00
yyc12345 69c7592f41 feat: remove useless win32 concept for clear code 2026-04-12 16:39:15 +08:00
yyc12345 6b7019e640 revoke: revoke the rename of ppic 2026-04-12 14:54:43 +08:00
yyc12345 d7359d41d4 feat: update manifest file 2026-04-03 16:11:51 +08:00
yyc12345 7d8757c0ec refactor: commit code which idk when i write them 2026-04-03 15:02:16 +08:00
yyc12345 796b2efb1c feat: write some cdylib code 2026-01-04 14:05:34 +08:00
yyc12345 27ab6721de feat: upgrade wfassoc_exec 2025-12-30 23:21:01 +08:00
yyc12345 7a03d38f68 feat: finish ppic.toml as the example 2025-12-25 20:13:12 +08:00
yyc12345 0b98610e1f doc: write some README but not finish 2025-12-17 22:34:49 +08:00
yyc12345 11c48b4aaf feat: update wfassoc dylib design 2025-11-26 22:40:17 +08:00
yyc12345 2741969164 refactor(assoc): improve error handling and type safety
- Remove unused `Infallible` import
- Add `ParseProgIdKindError` for better ProgId parsing error handling
- Implement `BlankProgId` variant for empty ProgId strings
- Add `ExtKey::new` and `ProgIdKey::new` constructors
- Add `as_inner` methods to `ExtKey` and `ProgIdKey`
- Replace `to_string()` calls with `as_inner().to_string()`
- Update error type from `BlankStringError` to `BlankPathError`
- Rename `BlankStringError` to `BlankPathError` with updated message
- Update `blank_path_guard` return type and error handling
- Remove `Display` and `FromStr` implementations from `ExtKey` and `ProgIdKey`
2025-11-01 16:11:22 +08:00
yyc12345 3694a6a82a feat(windows): add blank path guard for registry operations
- Add BlankStringError to handle empty registry paths
- Implement blank_path_guard function to prevent dangerous registry operations
- Apply blank path guard to extension and ProgId key operations
- Update error handling to include BlankPath error variant
2025-10-29 10:53:29 +08:00
yyc12345 a3456e9fdd feat(windows): implement registry manipulation for file associations
- Add comprehensive error types for registry operations
- Implement ProgIdKind enum with Display and FromStr traits
- Create ApplicationVisitor and ClassesVisitor structs
- Add ExtKey methods for linking, unlinking and querying ProgId
- Implement ProgIdKey creation and deletion in registry
- Add safe delete function to prevent accidental registry cleanup
- Introduce Display and FromStr implementations for ExtKey and ProgIdKey
- Organize registry access through scoped and viewed key opening
- Enable setting default "Open With" verbs for file extensions
- Support both user and system level registry modifications
2025-10-29 10:31:00 +08:00
yyc12345 3f1a070b65 refactor(wfassoc): restructure association module for registry operations
- Removed unused regex and uuid dependencies
- Replaced custom Ext and ProgId implementations with windows-specific types
- Added Scope and View enums for registry access control
- Introduced ExtKey and ProgIdKey structs for registry key handling
- Added error types for better error handling
- Implemented stub methods for registry operations
- Restructured module organization for better clarity
- Added utility functions for privilege checking
2025-10-28 14:10:28 +08:00
yyc12345 4d679588f8 feat(wfassoc): enhance CLSID handling and parsing
- Add `getrandom` dependency for UUID v4 feature
- Enable UUID v4 feature in `Cargo.toml`
- Implement `Clsid::with_random()` for generating random CLSIDs
- Improve `Clsid::new()` to accept `&Uuid` directly
- Update `Clsid::from_str()` to use `uuid::fmt::Braced` for stricter parsing
- Add comprehensive tests for valid and invalid CLSID strings
- Fix minor typo in test assertion code
- Enhance documentation comments for CLSID struct and error type
2025-10-28 12:50:15 +08:00
yyc12345 1342799303 feat(windows): implement file extension and ProgId parsing structs
- Add Ext struct for handling file extensions with validation
- Implement ProgId struct following Microsoft's suggested format
- Create Clsid struct for handling CLSID with UUID parsing
- Add ExpandString struct for environment variable expansion
- Include comprehensive tests for new structs and parsing logic
- Remove duplicate ExpandString implementation from windows.rs
- Organize code regions for better readability and maintenance
2025-10-28 11:12:13 +08:00
yyc12345 6be27def80 refactor(windows): update Windows API calls and error handling
- Replace `Default::default()` with `std::ptr::null_mut()` or `std::ptr::null()` for FFI calls
- Change `WideCStr::from_ptr` to `WideStr::from_ptr` for better safety
- Remove redundant error variants in `LoadStrRcError` and `ExpandEnvVarError`
- Reorder imports for better readability
- Add test cases for `StrRc` and `ExpandString` utilities
- Improve documentation comments for icon loading functions
2025-10-27 20:49:04 +08:00
yyc12345 81fd224236 feat(windows): implement icon and string resource loading
- Add IconRc struct for loading icons from executable or .ico files
- Implement LoadIconRcError for icon loading error handling
- Add StrRc struct for loading string resources from files
- Implement LoadStrRcError for string loading error handling
- Remove old Icon struct and related error types
- Update tests to use new resource loading implementations
- Add Windows Resource section with proper documentation
- Include Win32_System_LibraryLoader feature in Cargo.toml
2025-10-27 14:09:51 +08:00
yyc12345 cc79951ee6 refactor(windows): improve resource string parsing and documentation
- Rename structs to be more descriptive (IconRefStr, StrRefStr)
- Add comprehensive documentation for all public items
- Simplify error handling in FromStr implementations
- Add getter methods for path and index fields
2025-10-26 22:16:48 +08:00