Module: Windows::Path

Defined in:
lib/windows/path.rb

Constant Summary collapse

GCT_INVALID =

These constants are for use by the PathGetCharType() function.

0x0000
GCT_LFNCHAR =

The character is not valid in a path.

0x0001
GCT_SHORTCHAR =

The character is valid in a long file name.

0x0002
GCT_WILD =

The character is valid in a short (8.3) file name.

0x0004
GCT_SEPARATOR =

The character is a wildcard character.

0x0008
PathAddBackslash =

The character is a path separator.

Win32API.new('shlwapi', 'PathAddBackslash', 'P', 'P')
PathAddBackslashA =
Win32API.new('shlwapi', 'PathAddBackslashA', 'P', 'P')
PathAddBackslashW =
Win32API.new('shlwapi', 'PathAddBackslashW', 'P', 'P')
PathAddExtension =
Win32API.new('shlwapi', 'PathAddExtension', 'PP', 'I')
PathAddExtensionA =
Win32API.new('shlwapi', 'PathAddExtensionA', 'PP', 'I')
PathAddExtensionW =
Win32API.new('shlwapi', 'PathAddExtensionW', 'PP', 'I')
PathAppend =
Win32API.new('shlwapi', 'PathAppend', 'PP', 'I')
PathAppendA =
Win32API.new('shlwapi', 'PathAppendA', 'PP', 'I')
PathAppendW =
Win32API.new('shlwapi', 'PathAppendW', 'PP', 'I')
PathBuildRoot =
Win32API.new('shlwapi', 'PathBuildRoot', 'PI', 'P')
PathBuildRootA =
Win32API.new('shlwapi', 'PathBuildRootA', 'PI', 'P')
PathBuildRootW =
Win32API.new('shlwapi', 'PathBuildRootW', 'PI', 'P')
PathCanonicalize =
Win32API.new('shlwapi', 'PathCanonicalize', 'PP', 'I')
PathCanonicalizeA =
Win32API.new('shlwapi', 'PathCanonicalizeA', 'PP', 'I')
PathCanonicalizeW =
Win32API.new('shlwapi', 'PathCanonicalizeW', 'PP', 'I')
PathCombine =
Win32API.new('shlwapi', 'PathCombine', 'PPP', 'P')
PathCombineA =
Win32API.new('shlwapi', 'PathCombineA', 'PPP', 'P')
PathCombineW =
Win32API.new('shlwapi', 'PathCombineW', 'PPP', 'P')
PathCommonPrefix =
Win32API.new('shlwapi', 'PathCommonPrefix', 'PPP', 'I')
PathCommonPrefixA =
Win32API.new('shlwapi', 'PathCommonPrefixA', 'PPP', 'I')
PathCommonPrefixW =
Win32API.new('shlwapi', 'PathCommonPrefixW', 'PPP', 'I')
PathCompactPath =
Win32API.new('shlwapi', 'PathCompactPath', 'PPI', 'I')
PathCompactPathA =
Win32API.new('shlwapi', 'PathCompactPathA', 'PPI', 'I')
PathCompactPathW =
Win32API.new('shlwapi', 'PathCompactPathW', 'PPI', 'I')
PathCompactPathEx =
Win32API.new('shlwapi', 'PathCompactPathEx', 'PPIL', 'I')
PathCompactPathExA =
Win32API.new('shlwapi', 'PathCompactPathExA', 'PPIL', 'I')
PathCompactPathExW =
Win32API.new('shlwapi', 'PathCompactPathExW', 'PPIL', 'I')
PathCreateFromUrl =
Win32API.new('shlwapi', 'PathCreateFromUrl', 'PPPL', 'L')
PathCreateFromUrlA =
Win32API.new('shlwapi', 'PathCreateFromUrlA', 'PPPL', 'L')
PathCreateFromUrlW =
Win32API.new('shlwapi', 'PathCreateFromUrlW', 'PPPL', 'L')
PathFileExists =
Win32API.new('shlwapi', 'PathFileExists', 'P', 'I')
PathFileExistsA =
Win32API.new('shlwapi', 'PathFileExistsA', 'P', 'I')
PathFileExistsW =
Win32API.new('shlwapi', 'PathFileExistsW', 'P', 'I')
PathFindExtension =
Win32API.new('shlwapi', 'PathFindExtension', 'P', 'P')
PathFindExtensionA =
Win32API.new('shlwapi', 'PathFindExtensionA', 'P', 'P')
PathFindExtensionW =
Win32API.new('shlwapi', 'PathFindExtensionW', 'P', 'P')
PathFindFileName =
Win32API.new('shlwapi', 'PathFindFileName', 'P', 'P')
PathFindFileNameA =
Win32API.new('shlwapi', 'PathFindFileNameA', 'P', 'P')
PathFindFileNameW =
Win32API.new('shlwapi', 'PathFindFileNameW', 'P', 'P')
PathFindNextComponent =
Win32API.new('shlwapi', 'PathFindNextComponent', 'P', 'P')
PathFindNextComponentA =
Win32API.new('shlwapi', 'PathFindNextComponentA', 'P', 'P')
PathFindNextComponentW =
Win32API.new('shlwapi', 'PathFindNextComponentW', 'P', 'P')
PathFindOnPath =
Win32API.new('shlwapi', 'PathFindOnPath', 'PP', 'I')
PathFindOnPathA =
Win32API.new('shlwapi', 'PathFindOnPathA', 'PP', 'I')
PathFindOnPathW =
Win32API.new('shlwapi', 'PathFindOnPathW', 'PP', 'I')
PathFindSuffixArray =
Win32API.new('shlwapi', 'PathFindSuffixArray', 'PPI', 'P')
PathFindSuffixArrayA =
Win32API.new('shlwapi', 'PathFindSuffixArrayA', 'PPI', 'P')
PathFindSuffixArrayW =
Win32API.new('shlwapi', 'PathFindSuffixArrayW', 'PPI', 'P')
PathGetArgs =
Win32API.new('shlwapi', 'PathGetArgs', 'P', 'P')
PathGetArgsA =
Win32API.new('shlwapi', 'PathGetArgsA', 'P', 'P')
PathGetArgsW =
Win32API.new('shlwapi', 'PathGetArgsW', 'P', 'P')
PathGetCharType =
Win32API.new('shlwapi', 'PathGetCharType', 'P', 'I')
PathGetCharTypeA =
Win32API.new('shlwapi', 'PathGetCharTypeA', 'P', 'I')
PathGetCharTypeW =
Win32API.new('shlwapi', 'PathGetCharTypeW', 'P', 'I')
PathGetDriveNumber =
Win32API.new('shlwapi', 'PathGetDriveNumber', 'P', 'I')
PathGetDriveNumberA =
Win32API.new('shlwapi', 'PathGetDriveNumberA', 'P', 'I')
PathGetDriveNumberW =
Win32API.new('shlwapi', 'PathGetDriveNumberW', 'P', 'I')
PathIsContentType =
Win32API.new('shlwapi', 'PathIsContentType', 'PP', 'I')
PathIsContentTypeA =
Win32API.new('shlwapi', 'PathIsContentTypeA', 'PP', 'I')
PathIsContentTypeW =
Win32API.new('shlwapi', 'PathIsContentTypeW', 'PP', 'I')
PathIsDirectory =
Win32API.new('shlwapi', 'PathIsDirectory', 'P', 'I')
PathIsDirectoryEmpty =
Win32API.new('shlwapi', 'PathIsDirectoryEmpty', 'P', 'I')
PathIsFileSpec =
Win32API.new('shlwapi', 'PathIsFileSpec', 'P', 'I')
PathIsLFNFileSpec =

PathIsHTMLFile = Win32API.new(‘shlwapi’, ‘PathIsHTMLFile’, ‘P’, ‘I’)

Win32API.new('shlwapi', 'PathIsLFNFileSpec', 'P', 'I')
PathIsNetworkPath =
Win32API.new('shlwapi', 'PathIsNetworkPath', 'P', 'I')
PathIsPrefix =
Win32API.new('shlwapi', 'PathIsPrefix', 'PP', 'I')
PathIsRelative =
Win32API.new('shlwapi', 'PathIsRelative', 'P', 'I')
PathIsRoot =
Win32API.new('shlwapi', 'PathIsRoot', 'P', 'I')
PathIsSameRoot =
Win32API.new('shlwapi', 'PathIsSameRoot', 'PP', 'I')
PathIsSystemFolder =
Win32API.new('shlwapi', 'PathIsSystemFolder', 'PL', 'I')
PathIsUNC =
Win32API.new('shlwapi', 'PathIsUNC', 'P', 'I')
PathIsUNCServer =
Win32API.new('shlwapi', 'PathIsUNCServer', 'P', 'I')
PathIsUNCServerShare =
Win32API.new('shlwapi', 'PathIsUNCServerShare','P','I')
PathIsURL =
Win32API.new('shlwapi', 'PathIsURL', 'P', 'I')
PathMakePretty =
Win32API.new('shlwapi', 'PathMakePretty', 'P', 'I')
PathMakeSystemFolder =
Win32API.new('shlwapi', 'PathMakeSystemFolder', 'P', 'I')
PathMatchSpec =
Win32API.new('shlwapi', 'PathMatchSpec', 'PP', 'I')
PathParseIconLocation =
Win32API.new('shlwapi', 'PathParseIconLocation', 'P', 'I')
PathQuoteSpaces =
Win32API.new('shlwapi', 'PathQuoteSpaces', 'P', 'V')
PathRelativePathTo =
Win32API.new('shlwapi', 'PathRelativePathTo', 'PPLPL', 'I')
PathRemoveArgs =
Win32API.new('shlwapi', 'PathRemoveArgs', 'P', 'V')
PathRemoveBackslash =
Win32API.new('shlwapi', 'PathRemoveBackslash', 'P', 'P')
PathRemoveBlanks =
Win32API.new('shlwapi', 'PathRemoveBlanks', 'P', 'V')
PathRemoveExtension =
Win32API.new('shlwapi', 'PathRemoveExtension', 'P','V')
PathRemoveFileSpec =
Win32API.new('shlwapi', 'PathRemoveFileSpec', 'P', 'L')
PathRenameExtension =
Win32API.new('shlwapi', 'PathRenameExtension', 'PP','I')
PathSearchAndQualify =
Win32API.new('shlwapi', 'PathSearchAndQualify', 'PPI', 'I')
PathSetDlgItemPath =
Win32API.new('shlwapi', 'PathSetDlgItemPath', 'LIP', 'V')
PathSkipRoot =
Win32API.new('shlwapi', 'PathSkipRoot', 'P', 'P')
PathStripPath =
Win32API.new('shlwapi', 'PathStripPath', 'P', 'V')
PathStripToRoot =
Win32API.new('shlwapi', 'PathStripToRoot', 'P', 'I')
PathUndecorate =
Win32API.new('shlwapi', 'PathUndecorate', 'P', 'V')
PathUnExpandEnvStrings =
Win32API.new('shlwapi', 'PathUnExpandEnvStrings', 'PPI', 'I')
PathUnmakeSystemFolder =
Win32API.new('shlwapi', 'PathUnmakeSystemFolder', 'P', 'I')
PathUnquoteSpaces =
Win32API.new('shlwapi', 'PathUnquoteSpaces', 'P', 'V')

Instance Method Summary collapse

Instance Method Details

#PathAddBackslash(path) ⇒ Object



129
130
131
# File 'lib/windows/path.rb', line 129

def PathAddBackslash(path)
   PathAddBackslash.call(path)
end

#PathAddExtension(path, ext) ⇒ Object



133
134
135
# File 'lib/windows/path.rb', line 133

def PathAddExtension(path, ext)
   PathAddExtension.call(path, ext) > 0
end

#PathAppend(path, more) ⇒ Object



137
138
139
# File 'lib/windows/path.rb', line 137

def PathAppend(path, more)
   PathAppend.call(path, more) > 0
end

#PathBuildRoot(root, drive) ⇒ Object



141
142
143
# File 'lib/windows/path.rb', line 141

def PathBuildRoot(root, drive)
   PathBuildRoot.call(root, drive)
end

#PathCanonicalize(dst, src) ⇒ Object



145
146
147
# File 'lib/windows/path.rb', line 145

def PathCanonicalize(dst, src)
   PathCanonicalize.call(dst, src) > 0
end

#PathCombine(dest, dir, file) ⇒ Object



149
150
151
# File 'lib/windows/path.rb', line 149

def PathCombine(dest, dir, file)
   PathCombine.call(dest, dir, file)
end

#PathCommonPrefix(path1, path2, buf) ⇒ Object



153
154
155
# File 'lib/windows/path.rb', line 153

def PathCommonPrefix(path1, path2, buf)
   PathCommonPrefix.call(path1, path2, buf)
end

#PathCompactPath(handle, path, px_width) ⇒ Object



157
158
159
# File 'lib/windows/path.rb', line 157

def PathCompactPath(handle, path, px_width)
   PathCompactPath.call(handle, path, px_width) > 0
end

#PathCompactPathEx(out, src, max, flags = nil) ⇒ Object



161
162
163
# File 'lib/windows/path.rb', line 161

def PathCompactPathEx(out, src, max, flags = nil)
   PathCompactPathEx.call(out, src, max, flags) > 0
end

#PathCreateFromUrl(url, path, path_size, reserved = nil) ⇒ Object



165
166
167
# File 'lib/windows/path.rb', line 165

def PathCreateFromUrl(url, path, path_size, reserved = nil)
   PathCreateFromUrl.call(url, path, path_size, reserved) >= 0
end

#PathFileExists(path) ⇒ Object



169
170
171
# File 'lib/windows/path.rb', line 169

def PathFileExists(path)
   PathFileExists.call(path) > 0
end

#PathFindExtension(path) ⇒ Object



173
174
175
# File 'lib/windows/path.rb', line 173

def PathFindExtension(path)
   PathFindExtension.call(path)
end

#PathFindFileName(path) ⇒ Object



177
178
179
# File 'lib/windows/path.rb', line 177

def PathFindFileName(path)
   PathFindFileName.call(path)
end

#PathFindNextComponent(path) ⇒ Object



181
182
183
# File 'lib/windows/path.rb', line 181

def PathFindNextComponent(path)
   PathFindNextComponent.call(path)
end

#PathFindOnPath(file, dirs) ⇒ Object



185
186
187
# File 'lib/windows/path.rb', line 185

def PathFindOnPath(file, dirs)
   PathFindOnPath.call(file, dirs)
end

#PathFindSuffixArray(path, suffix_array, suffix_size) ⇒ Object



189
190
191
# File 'lib/windows/path.rb', line 189

def PathFindSuffixArray(path, suffix_array, suffix_size)
   PathFindSuffixArray.call(path, suffix_array, suffix_size)
end

#PathGetArgs(path) ⇒ Object



193
194
195
# File 'lib/windows/path.rb', line 193

def PathGetArgs(path)
   PathGetArgs.call(path)
end

#PathGetCharType(char) ⇒ Object



197
198
199
# File 'lib/windows/path.rb', line 197

def PathGetCharType(char)
   PathGetCharType.call(char)
end

#PathGetDriveNumber(path) ⇒ Object



201
202
203
# File 'lib/windows/path.rb', line 201

def PathGetDriveNumber(path)
   PathGetDriveNumber.call(path)
end

#PathIsContentType(path, content_type) ⇒ Object



205
206
207
# File 'lib/windows/path.rb', line 205

def PathIsContentType(path, content_type)
   PathIsContentType.call(path, content_type) > 0
end

#PathIsDirectory(path) ⇒ Object



209
210
211
# File 'lib/windows/path.rb', line 209

def PathIsDirectory(path)
   PathIsDirectory.call(path) > 0
end

#PathIsDirectoryEmpty(path) ⇒ Object



213
214
215
# File 'lib/windows/path.rb', line 213

def PathIsDirectoryEmpty(path)
   PathIsDirectoryEmpty.call(path) > 0
end

#PathIsFileSpec(path) ⇒ Object



217
218
219
# File 'lib/windows/path.rb', line 217

def PathIsFileSpec(path)
   PathIsFileSpec.call(path) > 0
end

#PathIsLFNFileSpec(path) ⇒ Object

This appears to be broken with the current MSVC distro. Use PathIsContentType instead. def PathIsHTMLFile(path)

PathIsHTMLFile.call(path)

end



227
228
229
# File 'lib/windows/path.rb', line 227

def PathIsLFNFileSpec(path)
   PathIsLFNFileSpec.call(path) > 0
end

#PathIsNetworkPath(path) ⇒ Object



231
232
233
# File 'lib/windows/path.rb', line 231

def PathIsNetworkPath(path)
   PathIsNetworkPath.call(path) > 0
end

#PathIsPrefix(prefix, path) ⇒ Object



235
236
237
# File 'lib/windows/path.rb', line 235

def PathIsPrefix(prefix, path)
   PathIsPrefix.call(prefix, path) > 0
end

#PathIsRelative(path) ⇒ Object



239
240
241
# File 'lib/windows/path.rb', line 239

def PathIsRelative(path)
   PathIsRelative.call(path) > 0
end

#PathIsRoot(path) ⇒ Object



243
244
245
# File 'lib/windows/path.rb', line 243

def PathIsRoot(path)
   PathIsRoot.call(path) > 0
end

#PathIsSameRoot(path1, path2) ⇒ Object



247
248
249
# File 'lib/windows/path.rb', line 247

def PathIsSameRoot(path1, path2)
   PathIsSameRoot.call(path1, path2) > 0
end

#PathIsSystemFolder(path) ⇒ Object



251
252
253
# File 'lib/windows/path.rb', line 251

def PathIsSystemFolder(path)
   PathIsSystemFolder.call(path) > 0
end

#PathIsUNC(path) ⇒ Object



255
256
257
# File 'lib/windows/path.rb', line 255

def PathIsUNC(path)
   PathIsUNC.call(path) > 0
end

#PathIsUNCServer(path) ⇒ Object



259
260
261
# File 'lib/windows/path.rb', line 259

def PathIsUNCServer(path)
   PathIsUNCServer.call(path) > 0
end

#PathIsUNCServerShare(path) ⇒ Object



263
264
265
# File 'lib/windows/path.rb', line 263

def PathIsUNCServerShare(path)
   PathIsUNCServerShare.call(path) > 0
end

#PathIsURL(path) ⇒ Object



267
268
269
# File 'lib/windows/path.rb', line 267

def PathIsURL(path)
   PathIsURL.call(path) > 0
end

#PathMakePretty(path) ⇒ Object



271
272
273
# File 'lib/windows/path.rb', line 271

def PathMakePretty(path)
   PathMakePretty.call(path) > 0
end

#PathMakeSystemFolder(path) ⇒ Object



275
276
277
# File 'lib/windows/path.rb', line 275

def PathMakeSystemFolder(path)
   PathMakeSystemFolder.call(path) > 0
end

#PathMatchSpec(path, spec) ⇒ Object



279
280
281
# File 'lib/windows/path.rb', line 279

def PathMatchSpec(path, spec)
   PathMatchSpec.call(path, spec) > 0
end

#PathParseIconLocation(path) ⇒ Object



283
284
285
# File 'lib/windows/path.rb', line 283

def PathParseIconLocation(path)
   PathParseIconLocation.call(path)
end

#PathQuoteSpaces(path) ⇒ Object



287
288
289
# File 'lib/windows/path.rb', line 287

def PathQuoteSpaces(path)
   PathQuoteSpaces.call(path)
end

#PathRelativePathTo(path, from, from_attr, to, to_attr) ⇒ Object



291
292
293
# File 'lib/windows/path.rb', line 291

def PathRelativePathTo(path, from, from_attr, to, to_attr)
   PathRelativePathTo.call(path, from, from_attr, to, to_attr) > 0
end

#PathRemoveArgs(path) ⇒ Object



295
296
297
# File 'lib/windows/path.rb', line 295

def PathRemoveArgs(path)
   PathRemoveArgs.call(path)
end

#PathRemoveBackslash(path) ⇒ Object



299
300
301
# File 'lib/windows/path.rb', line 299

def PathRemoveBackslash(path)
   PathRemoveBackslash.call(path)
end

#PathRemoveBlanks(path) ⇒ Object



303
304
305
# File 'lib/windows/path.rb', line 303

def PathRemoveBlanks(path)
   PathRemoveBlanks.call(path)
end

#PathRemoveExtension(path) ⇒ Object



307
308
309
# File 'lib/windows/path.rb', line 307

def PathRemoveExtension(path)
   PathRemoveExtension.call(path)
end

#PathRemoveFileSpec(path) ⇒ Object



311
312
313
# File 'lib/windows/path.rb', line 311

def PathRemoveFileSpec(path)
   PathRemoveFileSpec.call(path) > 0
end

#PathRenameExtension(path, ext) ⇒ Object



315
316
317
# File 'lib/windows/path.rb', line 315

def PathRenameExtension(path, ext)
   PathRenameExtension.call(path, ext) > 0
end

#PathSearchAndQualify(path, full_path, full_path_size) ⇒ Object



319
320
321
# File 'lib/windows/path.rb', line 319

def PathSearchAndQualify(path, full_path, full_path_size)
   PathSearchAndQualify.call(path, full_path, full_path_size) > 0
end

#PathSetDlgItemPath(handle, id, path) ⇒ Object



323
324
325
# File 'lib/windows/path.rb', line 323

def PathSetDlgItemPath(handle, id, path)
   PathSetDlgItemPath.call(handle, id, path)
end

#PathSkipRoot(path) ⇒ Object



327
328
329
# File 'lib/windows/path.rb', line 327

def PathSkipRoot(path)
   PathSkipRoot.call(path)
end

#PathStripPath(path) ⇒ Object



331
332
333
# File 'lib/windows/path.rb', line 331

def PathStripPath(path)
   PathStripPath.call(path)
end

#PathStripToRoot(path) ⇒ Object



335
336
337
# File 'lib/windows/path.rb', line 335

def PathStripToRoot(path)
   PathStripToRoot.call(path) > 0
end

#PathUndecorate(path) ⇒ Object



339
340
341
# File 'lib/windows/path.rb', line 339

def PathUndecorate(path)
   PathUndecorate.call(path)
end

#PathUnExpandEnvStrings(path, buf, buf_size) ⇒ Object



343
344
345
# File 'lib/windows/path.rb', line 343

def PathUnExpandEnvStrings(path, buf, buf_size)
   PathUnExpandEnvStrings.call(path, buf, buf_size) > 0
end

#PathUnmakeSystemFolder(path) ⇒ Object



347
348
349
# File 'lib/windows/path.rb', line 347

def PathUnmakeSystemFolder(path)
   PathUnmakeSystemFolder.call(path) > 0
end

#PathUnquoteSpaces(path) ⇒ Object



351
352
353
# File 'lib/windows/path.rb', line 351

def PathUnquoteSpaces(path)
   PathUnquoteSpaces.call(path)
end