win 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY +8 -0
- data/README.rdoc +2 -2
- data/Rakefile +16 -50
- data/VERSION +1 -1
- data/lib/version.rb +8 -0
- data/lib/win/dde.rb +46 -46
- data/lib/win/error.rb +2 -2
- data/lib/win/gui/dialog.rb +2 -2
- data/lib/win/gui/input.rb +12 -12
- data/lib/win/gui/message.rb +29 -29
- data/lib/win/gui/window.rb +28 -28
- data/lib/win/library.rb +10 -6
- data/tasks/common.rake +14 -0
- data/tasks/doc.rake +14 -0
- data/tasks/gem.rake +39 -0
- data/tasks/git.rake +34 -0
- data/tasks/spec.rake +19 -0
- data/tasks/version.rake +71 -0
- metadata +45 -31
- data/.document +0 -5
- data/win.gemspec +0 -87
data/HISTORY
ADDED
data/README.rdoc
CHANGED
@@ -20,7 +20,7 @@ You just want to put these function calls into your Ruby code without too much p
|
|
20
20
|
You'd love this to be more or less natural extension of your Ruby code, preferably
|
21
21
|
not turning your code base into an ugly spaghetty of CamelCase calls, String/Array
|
22
22
|
pack/unpack gymnastics, buffer/pointer allocations, extracting return values
|
23
|
-
from
|
23
|
+
from <in/out> parameters and checking return codes for 0.
|
24
24
|
|
25
25
|
You have several options at this point. You can use 'win32-api' or 'ffi' libraries
|
26
26
|
to connect your ruby code to Windows API and manually define wrapper methods for
|
@@ -119,7 +119,7 @@ Contributors always welcome!
|
|
119
119
|
require 'win/gui/window'
|
120
120
|
|
121
121
|
class MyClass
|
122
|
-
include Win::
|
122
|
+
include Win::Gui::Window
|
123
123
|
|
124
124
|
fg_window = foreground_window
|
125
125
|
puts window_text(fg_window)
|
data/Rakefile
CHANGED
@@ -1,58 +1,24 @@
|
|
1
|
-
require '
|
2
|
-
|
1
|
+
require 'pathname'
|
2
|
+
NAME = 'win'
|
3
|
+
BASE_PATH = Pathname.new(__FILE__).dirname
|
4
|
+
LIB_PATH = BASE_PATH + 'lib'
|
5
|
+
PKG_PATH = BASE_PATH + 'pkg'
|
6
|
+
DOC_PATH = BASE_PATH + 'rdoc'
|
3
7
|
|
4
|
-
|
5
|
-
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "win"
|
8
|
-
gem.summary = %Q{Rubyesque interfaces and wrappers for Windows API functions pre-defined using FFI }
|
9
|
-
gem.description = %Q{Rubyesque interfaces and wrappers for Windows API functions pre-defined using FFI }
|
10
|
-
gem.email = "arvitallian@gmail.com"
|
11
|
-
gem.homepage = "http://github.com/arvicco/win"
|
12
|
-
gem.authors = ["arvicco"]
|
13
|
-
gem.add_dependency "ffi", ">= 0.6.0"
|
14
|
-
gem.add_development_dependency "rspec", ">= 1.2.9"
|
15
|
-
gem.add_development_dependency "cucumber", ">= 0"
|
16
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
|
-
end
|
18
|
-
Jeweler::GemcutterTasks.new
|
19
|
-
rescue LoadError
|
20
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
21
|
-
end
|
22
|
-
|
23
|
-
require 'spec/rake/spectask'
|
24
|
-
Spec::Rake::SpecTask.new(:spec) do |spec|
|
25
|
-
spec.libs << 'lib' << 'spec'
|
26
|
-
spec.spec_files = FileList['spec/**/*_spec.rb']
|
27
|
-
end
|
8
|
+
$LOAD_PATH.unshift LIB_PATH.to_s
|
9
|
+
require 'version'
|
28
10
|
|
29
|
-
|
30
|
-
|
31
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
32
|
-
spec.rcov = true
|
33
|
-
end
|
34
|
-
|
35
|
-
task :spec => :check_dependencies
|
11
|
+
CLASS_NAME = Win
|
12
|
+
VERSION = CLASS_NAME::VERSION
|
36
13
|
|
37
14
|
begin
|
38
|
-
require '
|
39
|
-
Cucumber::Rake::Task.new(:features)
|
40
|
-
|
41
|
-
task :features => :check_dependencies
|
15
|
+
require 'rake'
|
42
16
|
rescue LoadError
|
43
|
-
|
44
|
-
|
45
|
-
|
17
|
+
require 'rubygems'
|
18
|
+
gem 'rake', '~> 0.8.3.1'
|
19
|
+
require 'rake'
|
46
20
|
end
|
47
21
|
|
48
|
-
|
22
|
+
# Load rakefile tasks
|
23
|
+
Dir['tasks/*.rake'].sort.each { |file| load file }
|
49
24
|
|
50
|
-
require 'rake/rdoctask'
|
51
|
-
Rake::RDocTask.new do |rdoc|
|
52
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
53
|
-
|
54
|
-
rdoc.rdoc_dir = 'rdoc'
|
55
|
-
rdoc.title = "win #{version}"
|
56
|
-
rdoc.rdoc_files.include('README*')
|
57
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
58
|
-
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.3
|
data/lib/version.rb
ADDED
data/lib/win/dde.rb
CHANGED
@@ -591,7 +591,7 @@ module Win
|
|
591
591
|
#
|
592
592
|
# [*Syntax*] UINT RegisterClipboardFormat( LPCTSTR lpszFormat )
|
593
593
|
#
|
594
|
-
# lpszFormat::
|
594
|
+
# lpszFormat:: <in> Pointer to a null-terminated string that names the new format.
|
595
595
|
#
|
596
596
|
# *Returns*:: :uint or nil. If the function succeeds, the return value identifies the registered clipboard format.
|
597
597
|
# If the function fails, the return value is *nil*(not zero). For error info, call GetLastError.
|
@@ -617,7 +617,7 @@ module Win
|
|
617
617
|
#
|
618
618
|
# [*Syntax*] HDDEDATA CALLBACK DdeCallback( UINT uType, UINT uFmt, HCONV hconv, HDDEDATA hsz1, HDDEDATA hsz2,
|
619
619
|
# HDDEDATA hdata, HDDEDATA dwData1, HDDEDATA dwData2);
|
620
|
-
# uType::
|
620
|
+
# uType:: <in> Specifies the type of the current transaction. This parameter consists of a combination of
|
621
621
|
# transaction class flags and transaction type flags. The following table describes each of the
|
622
622
|
# transaction classes and provides a list of the transaction types in each class. For information
|
623
623
|
# about a specific transaction type, see the individual description of that type.
|
@@ -671,16 +671,16 @@ module Win
|
|
671
671
|
# - XTYP_REGISTER
|
672
672
|
# - XTYP_XACT_COMPLETE
|
673
673
|
# - XTYP_UNREGISTER
|
674
|
-
# uFmt::
|
675
|
-
# hconv::
|
676
|
-
# hsz1::
|
674
|
+
# uFmt:: <in> Specifies the format in which data is sent or received.
|
675
|
+
# hconv:: <in> Handle to the conversation associated with the current transaction.
|
676
|
+
# hsz1:: <in> Handle to a string. The meaning of this parameter depends on the type of the current transaction.
|
677
677
|
# For the meaning of this parameter, see the description of the transaction type.
|
678
|
-
# hsz2::
|
678
|
+
# hsz2:: <in> Handle to a string. The meaning of this parameter depends on the type of the current transaction.
|
679
679
|
# For the meaning of this parameter, see the description of the transaction type.
|
680
|
-
# hdata::
|
680
|
+
# hdata:: <in> Handle to DDE data. The meaning of this parameter depends on the type of the current transaction.
|
681
681
|
# For the meaning of this parameter, see the description of the transaction type.
|
682
|
-
# dwData1::
|
683
|
-
# dwData2::
|
682
|
+
# dwData1:: <in> Specifies transaction-specific data. For the meaning, see the description of the transaction type.
|
683
|
+
# dwData2:: <in> Specifies transaction-specific data. For the meaning, see the description of the transaction type.
|
684
684
|
# *Returns*:: The return value depends on the transaction class. For more information about the return values,
|
685
685
|
# see descriptions of the individual transaction types.
|
686
686
|
# ---
|
@@ -702,7 +702,7 @@ module Win
|
|
702
702
|
#
|
703
703
|
# [*Syntax*] UINT DdeInitialize( LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes );
|
704
704
|
#
|
705
|
-
# pidInst::
|
705
|
+
# pidInst:: <in, out> Pointer to the application instance identifier.
|
706
706
|
# At initialization, this parameter should point to 0. If the function succeeds, this parameter points
|
707
707
|
# to the instance identifier for the application. This value should be passed as the idInst parameter
|
708
708
|
# in all other DDEML functions that require it. If an application uses multiple instances of the DDEML
|
@@ -711,7 +711,7 @@ module Win
|
|
711
711
|
# case, pidInst must point to a valid application-instance identifier.
|
712
712
|
# pfnCallback:: Pointer to the application-defined Dynamic Data Exchange DdeCallback function. This function
|
713
713
|
# processes DDE transactions sent by the system. For more information, see the DdeCallback.
|
714
|
-
# afCmd::
|
714
|
+
# afCmd:: <in> Specifies a set of APPCMD_, CBF_, and MF_ flags. The APPCMD_ flags provide special
|
715
715
|
# instructions to DdeInitialize. The CBF_ flags specify filters that prevent specific types of transactions
|
716
716
|
# from reaching the callback function. The MF_ flags specify the types of DDE activity that a DDE monitoring
|
717
717
|
# application monitors. Using these flags enhances the performance of a DDE application by eliminating
|
@@ -767,7 +767,7 @@ module Win
|
|
767
767
|
#
|
768
768
|
# [*Syntax*] BOOL DdeUninitialize( DWORD idInst);
|
769
769
|
#
|
770
|
-
# idInst::
|
770
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
|
771
771
|
# *Returns*:: If the function succeeds, the return value is nonzero.
|
772
772
|
# If the function fails, the return value is zero.
|
773
773
|
# ---
|
@@ -786,12 +786,12 @@ module Win
|
|
786
786
|
#
|
787
787
|
# [*Syntax*] HSZ DdeCreateStringHandle( DWORD idInst, LPTSTR psz, int iCodePage );
|
788
788
|
#
|
789
|
-
# idInst::
|
789
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the
|
790
790
|
# DdeInitialize function.
|
791
|
-
# psz::
|
791
|
+
# psz:: <in> Pointer to a buffer that contains the null-terminated string for which a handle
|
792
792
|
# is to be created. This string can be up to 255 characters. The reason for this limit is that
|
793
793
|
# DDEML string management functions are implemented using global atoms.
|
794
|
-
# iCodePage::
|
794
|
+
# iCodePage:: <in> Specifies the code page used to render the string. This value should be either
|
795
795
|
# CP_WINANSI (the default code page) or CP_WINUNICODE, depending on whether the ANSI or Unicode
|
796
796
|
# version of DdeInitialize was called by the client application.
|
797
797
|
#
|
@@ -821,8 +821,8 @@ module Win
|
|
821
821
|
#
|
822
822
|
# [*Syntax*] BOOL DdeFreeStringHandle( DWORD idInst, HSZ hsz );
|
823
823
|
#
|
824
|
-
# idInst::
|
825
|
-
# hsz::
|
824
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
|
825
|
+
# hsz:: <in, out> Handle to the string handle to be freed. This handle must have been created by a previous call
|
826
826
|
# to the DdeCreateStringHandle function.
|
827
827
|
# *Returns*:: If the function succeeds, the return value is nonzero. If the function fails, it is zero.
|
828
828
|
# ---
|
@@ -843,16 +843,16 @@ module Win
|
|
843
843
|
#
|
844
844
|
# [*Syntax*] DWORD DdeQueryString( DWORD idInst, HSZ hsz, LPTSTR psz, DWORD cchMax, int iCodePage);
|
845
845
|
#
|
846
|
-
# idInst::
|
847
|
-
# hsz::
|
846
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
|
847
|
+
# hsz:: <in> Handle to the string to copy. This handle must have been created by a previous call to the
|
848
848
|
# DdeCreateStringHandle function.
|
849
|
-
# psz::
|
849
|
+
# psz:: <in, out> Pointer to a buffer that receives the string. To obtain the length of the string, this parameter
|
850
850
|
# should be set to NULL.
|
851
|
-
# cchMax::
|
851
|
+
# cchMax:: <in> Specifies the length, in TCHARs, of the buffer pointed to by the psz parameter. For the ANSI
|
852
852
|
# version of the function, this is the number of bytes; for the Unicode version, this is the number of
|
853
853
|
# characters. If the string is longer than ( cchMax– 1), it will be truncated. If the psz parameter is
|
854
854
|
# set to NULL, this parameter is ignored.
|
855
|
-
# iCodePage::
|
855
|
+
# iCodePage:: <in> Code page used to render the string. This value should be either CP_WINANSI or CP_WINUNICODE.
|
856
856
|
#
|
857
857
|
# *Returns*:: If the psz parameter specified a valid pointer, the return value is the length, in TCHARs, of the
|
858
858
|
# returned text (not including the terminating null character). If the psz parameter specified a NULL
|
@@ -884,11 +884,11 @@ module Win
|
|
884
884
|
#
|
885
885
|
# [*Syntax*] HDDEDATA DdeNameService( DWORD idInst, UINT hsz1, UINT hsz2, UINT afCmd );
|
886
886
|
#
|
887
|
-
# idInst::
|
888
|
-
# hsz1::
|
887
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
|
888
|
+
# hsz1:: <in> Handle to the string that specifies the service name the server is registering or unregistering.
|
889
889
|
# An application that is unregistering all of its service names should set this parameter to 0L.
|
890
890
|
# hsz2:: Reserved; should be set to 0L.
|
891
|
-
# afCmd::
|
891
|
+
# afCmd:: <in> Specifies the service name options. This parameter can be one of the following values.
|
892
892
|
# DNS_REGISTER:: Registers the service name.
|
893
893
|
# DNS_UNREGISTER:: Unregisters the service name. If the hsz1 parameter is 0L,
|
894
894
|
# all service names registered by the server will be unregistered.
|
@@ -930,15 +930,15 @@ module Win
|
|
930
930
|
#
|
931
931
|
# [*Syntax*] HCONV DdeConnect( DWORD idInst, HSZ hszService, HSZ hszTopic, PCONVCONTEXT pCC );
|
932
932
|
#
|
933
|
-
# idInst::
|
934
|
-
# hszService::
|
933
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
|
934
|
+
# hszService:: <in> Handle to the string that specifies the service name of the server application with which
|
935
935
|
# a conversation is to be established. This handle must have been created by a previous call to
|
936
936
|
# the DdeCreateStringHandle function. If this parameter is 0L, a conversation is established with
|
937
937
|
# any available server.
|
938
|
-
# hszTopic::
|
938
|
+
# hszTopic:: <in> Handle to the string that specifies the name of the topic on which a conversation is to be
|
939
939
|
# established. This handle must have been created by a previous call to DdeCreateStringHandle.
|
940
940
|
# If this parameter is 0L, a conversation on any topic supported by the selected server is established.
|
941
|
-
# pCC::
|
941
|
+
# pCC:: <in> Pointer to the CONVCONTEXT structure that contains conversation context information. If this
|
942
942
|
# parameter is NULL, the server receives the default CONVCONTEXT structure during the XTYP_CONNECT
|
943
943
|
# or XTYP_WILDCONNECT transaction.
|
944
944
|
# *Returns*:: If the function succeeds, the return value is the handle to the established conversation.
|
@@ -974,7 +974,7 @@ module Win
|
|
974
974
|
#
|
975
975
|
# [*Syntax*] BOOL DdeDisconnect( HCONV hConv );
|
976
976
|
#
|
977
|
-
# hConv::
|
977
|
+
# hConv:: <in, out> Handle to the active conversation to be terminated.
|
978
978
|
#
|
979
979
|
# *Returns*:: If the function succeeds, the return value is nonzero, otherwise zero. The DdeGetLastError function
|
980
980
|
# can be used to get the error code, which can be one of the following values:
|
@@ -1001,7 +1001,7 @@ module Win
|
|
1001
1001
|
#
|
1002
1002
|
# [*Syntax*] UINT DdeGetLastError( DWORD idInst );
|
1003
1003
|
#
|
1004
|
-
# idInst::
|
1004
|
+
# idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
|
1005
1005
|
#
|
1006
1006
|
# *Returns*:: If the function succeeds, the return value is the last error code, which can be one of the following:
|
1007
1007
|
# DMLERR_ADVACKTIMEOUT, DMLERR_EXECACKTIMEOUT, DMLERR_INVALIDPARAMETER, DMLERR_LOW_MEMORY, DMLERR_MEMORY_ERROR,
|
@@ -1024,27 +1024,27 @@ module Win
|
|
1024
1024
|
# [*Syntax*] HDDEDATA DdeClientTransaction( LPBYTE pData, DWORD cbData, HCONV hConv, HSZ hszItem, UINT
|
1025
1025
|
# wFmt, UINT wType, DWORD dwTimeout, LPDWORD pdwResult );
|
1026
1026
|
#
|
1027
|
-
# pData::
|
1027
|
+
# pData:: <in> Pointer to the beginning of the data the client must pass to the server.
|
1028
1028
|
# Optionally, an application can specify the data handle (HDDEDATA) to pass to the server and in that
|
1029
1029
|
# case the cbData parameter should be set to -1. This parameter is required only if the wType parameter
|
1030
1030
|
# is XTYP_EXECUTE or XTYP_POKE. Otherwise, this parameter should be NULL.
|
1031
1031
|
# For the optional usage of this parameter, XTYP_POKE transactions where pData is a data handle, the
|
1032
1032
|
# handle must have been created by a previous call to the DdeCreateDataHandle function, employing the
|
1033
1033
|
# same data format specified in the wFmt parameter.
|
1034
|
-
# cbData::
|
1034
|
+
# cbData:: <in> Specifies the length, in bytes, of the data pointed to by the pData parameter, including
|
1035
1035
|
# the terminating NULL, if the data is a string. A value of -1 indicates that pData is a data
|
1036
1036
|
# handle that identifies the data being sent.
|
1037
|
-
# hConv::
|
1038
|
-
# hszItem::
|
1037
|
+
# hConv:: <in> Handle to the conversation in which the transaction is to take place.
|
1038
|
+
# hszItem:: <in> Handle to the data item for which data is being exchanged during the transaction. This
|
1039
1039
|
# handle must have been created by a previous call to the DdeCreateStringHandle function. This
|
1040
1040
|
# parameter is ignored (and should be set to 0L) if the wType parameter is XTYP_EXECUTE.
|
1041
|
-
# wFmt::
|
1041
|
+
# wFmt:: <in> Specifies the standard clipboard format in which the data item is being submitted or
|
1042
1042
|
# requested. If the transaction specified by the wType parameter does not pass data or is XTYP_EXECUTE,
|
1043
1043
|
# this parameter should be zero.
|
1044
1044
|
# If the transaction specified by the wType parameter references non-execute DDE data ( XTYP_POKE,
|
1045
1045
|
# XTYP_ADVSTART, XTYP_ADVSTOP, XTYP_REQUEST), the wFmt value must be either a valid predefined (CF_) DDE
|
1046
1046
|
# format or a valid registered clipboard format.
|
1047
|
-
# wType::
|
1047
|
+
# wType:: <in> Specifies the transaction type. This parameter can be one of the following values.
|
1048
1048
|
# - XTYP_ADVSTART: Begins an advise loop. Any number of distinct advise loops can exist within a
|
1049
1049
|
# conversation. An application can alter the advise loop type by combining the XTYP_ADVSTART
|
1050
1050
|
# transaction type with one or more of the following flags: Flag Meaning
|
@@ -1058,10 +1058,10 @@ module Win
|
|
1058
1058
|
# - XTYP_EXECUTE: Begins an execute transaction.
|
1059
1059
|
# - XTYP_POKE: Begins a poke transaction.
|
1060
1060
|
# - XTYP_REQUEST: Begins a request transaction.
|
1061
|
-
# dwTimeout::
|
1061
|
+
# dwTimeout:: <in> Specifies the maximum amount of time, in milliseconds, that the client will wait for
|
1062
1062
|
# a response from the server application in a synchronous transaction. This parameter should
|
1063
1063
|
# be TIMEOUT_ASYNC for asynchronous transactions.
|
1064
|
-
# pdwResult::
|
1064
|
+
# pdwResult:: <out> Pointer to a variable that receives the result of the transaction. An application
|
1065
1065
|
# that does not check the result can use NULL for this value. For synchronous transactions,
|
1066
1066
|
# the low-order word of this variable contains any applicable DDE_ flags resulting from the
|
1067
1067
|
# transaction. This provides support for applications dependent on DDE_APPSTATUS bits. It
|
@@ -1125,12 +1125,12 @@ module Win
|
|
1125
1125
|
#
|
1126
1126
|
# [*Syntax*] DWORD DdeGetData( HDDEDATA hData, LPBYTE pDst, DWORD cbMax, DWORD cbOff );
|
1127
1127
|
#
|
1128
|
-
# hData::
|
1129
|
-
# pDst::
|
1128
|
+
# hData:: <in> Handle to the DDE object that contains the data to copy.
|
1129
|
+
# pDst:: <out> Pointer to the buffer that receives the data. If this parameter is NULL, the DdeGetData
|
1130
1130
|
# function returns the amount of data, in bytes, that would be copied to the buffer.
|
1131
|
-
# cbMax::
|
1131
|
+
# cbMax:: <in> Specifies the maximum amount of data, in bytes, to copy to the buffer pointed to by the pDst
|
1132
1132
|
# parameter. Typically, this parameter specifies the length of the buffer pointed to by pDst.
|
1133
|
-
# cbOff::
|
1133
|
+
# cbOff:: <in> Specifies an offset within the DDE object. Data is copied from the object beginning at this offset.
|
1134
1134
|
#
|
1135
1135
|
# *Returns*:: If the pDst parameter points to a buffer, return value is the size, in bytes, of the memory object
|
1136
1136
|
# associated with the data handle or the size specified in the cbMax parameter, whichever is lower.
|
@@ -1171,8 +1171,8 @@ module Win
|
|
1171
1171
|
#
|
1172
1172
|
# [*Syntax*] LPBYTE DdeAccessData( HDDEDATA hData, LPDWORD pcbDataSize );
|
1173
1173
|
#
|
1174
|
-
# hData::
|
1175
|
-
# pcbDataSize::
|
1174
|
+
# hData:: <in> Handle to the DDE object to access.
|
1175
|
+
# pcbDataSize:: <out> Pointer to a variable that receives the size, in bytes, of the DDE object
|
1176
1176
|
# identified by the hData parameter. If this parameter is NULL, no size information is
|
1177
1177
|
# returned.
|
1178
1178
|
#
|
@@ -1212,7 +1212,7 @@ module Win
|
|
1212
1212
|
#
|
1213
1213
|
# [*Syntax*] BOOL DdeUnaccessData( HDDEDATA hData );
|
1214
1214
|
#
|
1215
|
-
# hData::
|
1215
|
+
# hData:: <in> Handle to the DDE object.
|
1216
1216
|
#
|
1217
1217
|
# *Returns*:: If the function succeeds, the return value is nonzero.
|
1218
1218
|
# If the function fails, the return value is zero.
|
data/lib/win/error.rb
CHANGED
@@ -870,7 +870,7 @@ module Win
|
|
870
870
|
# [*Syntax*] DWORD WINAPI FormatMessage( DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD
|
871
871
|
# dwLanguageId, LPTSTR lpBuffer, DWORD nSize, va_list* Arguments );
|
872
872
|
#
|
873
|
-
# dwFlags::
|
873
|
+
# dwFlags:: <in> The formatting options, and how to interpret the lpSource parameter. The low-order byte of dwFlags
|
874
874
|
# specifies how the function handles line breaks in the output buffer. The low-order byte can also
|
875
875
|
# specify the maximum width of a formatted output line. Possible values:
|
876
876
|
# - FORMAT_MESSAGE_ALLOCATE_BUFFER - The lpBuffer parameter is a pointer to a PVOID pointer, and that
|
@@ -1075,7 +1075,7 @@ module Win
|
|
1075
1075
|
#
|
1076
1076
|
# [*Syntax*] void WINAPI SetLastError( DWORD dwErrCode );
|
1077
1077
|
#
|
1078
|
-
# dwErrCode::
|
1078
|
+
# dwErrCode:: <in> The last-error code for the thread.
|
1079
1079
|
#
|
1080
1080
|
# *Returns*:: This function does not return a value.
|
1081
1081
|
# ---
|
data/lib/win/gui/dialog.rb
CHANGED
@@ -14,8 +14,8 @@ module Win
|
|
14
14
|
#
|
15
15
|
# [*Syntax*] HWND GetDlgItem( HWND hDlg, int nIDDlgItem );
|
16
16
|
#
|
17
|
-
# hDlg::
|
18
|
-
# nIDDlgItem::
|
17
|
+
# hDlg:: <in> Handle to the dialog box that contains the control.
|
18
|
+
# nIDDlgItem:: <in> Specifies the identifier of the control to be retrieved.
|
19
19
|
# *Returns*:: If the function succeeds, the return value is the window handle of the specified control.
|
20
20
|
# If the function fails, the return value is NULL, indicating an invalid dialog box handle
|
21
21
|
# or a nonexistent control. To get extended error information, call GetLastError.
|
data/lib/win/gui/input.rb
CHANGED
@@ -139,13 +139,13 @@ module Win
|
|
139
139
|
#
|
140
140
|
# [*Syntax*] VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, PTR dwExtraInfo);
|
141
141
|
#
|
142
|
-
# bVk::
|
142
|
+
# bVk:: <in> Specifies a virtual-key code. The code must be a value in the range 1 to 254.
|
143
143
|
# For a complete list, see Virtual-Key Codes.
|
144
|
-
# bScan::
|
145
|
-
# dwFlags::
|
144
|
+
# bScan:: <in> Specifies a hardware scan code for the key.
|
145
|
+
# dwFlags:: <in> Specifies various aspects of function operation. This parameter can be
|
146
146
|
# one or more of the following values:
|
147
147
|
# KEYEVENTF_EXTENDEDKEY, KEYEVENTF_KEYUP, KEYEVENTF_KEYDOWN
|
148
|
-
# dwExtraInfo::
|
148
|
+
# dwExtraInfo:: <in> Specifies an additional value associated with the key stroke.
|
149
149
|
#
|
150
150
|
# <b>NO Return Value</b>
|
151
151
|
# ---
|
@@ -168,7 +168,7 @@ module Win
|
|
168
168
|
#
|
169
169
|
# [*Syntax*] VOID mouse_event( DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo );
|
170
170
|
#
|
171
|
-
# dwFlags::
|
171
|
+
# dwFlags:: <in> Specifies various aspects of mouse motion and button clicking. This parameter can be certain
|
172
172
|
# combinations of the following values. The values that specify mouse button status are set to indicate
|
173
173
|
# changes in status, not ongoing conditions. For example, if the left mouse button is pressed and
|
174
174
|
# held down, MOUSEEVENTF_LEFTDOWN is set when the left button is first pressed, but not for subsequent
|
@@ -178,14 +178,14 @@ module Win
|
|
178
178
|
# MOUSEEVENTF_ABSOLUTE, MOUSEEVENTF_MOVE, MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP,
|
179
179
|
# MOUSEEVENTF_RIGHTDOWN, MOUSEEVENTF_RIGHTUP, MOUSEEVENTF_MIDDLEDOWN, MOUSEEVENTF_MIDDLEUP,
|
180
180
|
# MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, MOUSEEVENTF_XUP
|
181
|
-
# dx::
|
181
|
+
# dx:: <in> Specifies the mouse's absolute position along the x-axis or its amount of motion since the
|
182
182
|
# last mouse event was generated, depending on the setting of MOUSEEVENTF_ABSOLUTE. Absolute data is
|
183
183
|
# specified as the mouse's actual x-coordinate; relative data is specified as the number of mickeys moved.
|
184
184
|
# A mickey is the amount that a mouse has to move for it to report that it has moved.
|
185
|
-
# dy::
|
185
|
+
# dy:: <in> Specifies the mouse's absolute position along the y-axis or its amount of motion since the
|
186
186
|
# last mouse event was generated, depending on the setting of MOUSEEVENTF_ABSOLUTE. Absolute data is
|
187
187
|
# specified as the mouse's actual y-coordinate; relative data is specified as the number of mickeys moved.
|
188
|
-
# dwData::
|
188
|
+
# dwData:: <in>
|
189
189
|
# - If dwFlags contains MOUSEEVENTF_WHEEL, then data specifies the amount of wheel movement.
|
190
190
|
# A positive value indicates that the wheel was rotated forward, away from the user; a negative value
|
191
191
|
# indicates that the wheel was rotated backward, toward the user. One wheel click is defined as
|
@@ -198,7 +198,7 @@ module Win
|
|
198
198
|
# - If flags is not MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, or MOUSEEVENTF_XUP, then data should be zero.
|
199
199
|
# XBUTTON1 - Set if the first X button was pressed or released.
|
200
200
|
# XBUTTON2 - Set if the second X button was pressed or released.
|
201
|
-
# dwExtraInfo::
|
201
|
+
# dwExtraInfo:: <in> Specifies an additional value associated with the mouse event. An application
|
202
202
|
# calls GetMessageExtraInfo to obtain this extra information.
|
203
203
|
# <b>NO Return Value</b>
|
204
204
|
# ---
|
@@ -245,8 +245,8 @@ module Win
|
|
245
245
|
#
|
246
246
|
# [*Syntax*] BOOL SetCursorPos( int X, int Y );
|
247
247
|
#
|
248
|
-
# X::
|
249
|
-
# Y::
|
248
|
+
# X:: <in> Specifies the new x-coordinate of the cursor, in screen coordinates.
|
249
|
+
# Y:: <in> Specifies the new y-coordinate of the cursor, in screen coordinates.
|
250
250
|
#
|
251
251
|
# *Returns*:: Nonzero(*true*) if successful or zero(*false*) otherwise. To get extended error information,
|
252
252
|
# call GetLastError. Enhanced to return true/false instead of nonzero/zero
|
@@ -267,7 +267,7 @@ module Win
|
|
267
267
|
#
|
268
268
|
# [*Syntax*] BOOL GetCursorPos( LPPOINT lpPoint );
|
269
269
|
#
|
270
|
-
# lpPoint::
|
270
|
+
# lpPoint:: <out> Pointer to a POINT structure that receives the screen coordinates of the cursor.
|
271
271
|
#
|
272
272
|
# *Returns*:: Returns nonzero if successful or zero otherwise. To get extended error information, call
|
273
273
|
# GetLastError.
|
data/lib/win/gui/message.rb
CHANGED
@@ -342,12 +342,12 @@ module Win
|
|
342
342
|
#
|
343
343
|
# [*Syntax*] VOID SendAsyncProc( HWND hwnd, UINT uMsg, ULONG_PTR dwData, LRESULT lResult );
|
344
344
|
#
|
345
|
-
# hwnd::
|
345
|
+
# hwnd:: <in> Handle to the window whose window procedure received the message. If SendMessageCallback
|
346
346
|
# function was called with its hwnd parameter set to HWND_BROADCAST, the system calls the
|
347
347
|
# SendAsyncProc function once for each top-level window.
|
348
|
-
# uMsg::
|
349
|
-
# dwData::
|
350
|
-
# lResult::
|
348
|
+
# uMsg:: <in> Specifies the message.
|
349
|
+
# dwData:: <in> Specifies an application-defined value sent from the SendMessageCallback function.
|
350
|
+
# lResult:: <in> Specifies the result of the message processing. This value depends on the message.
|
351
351
|
#
|
352
352
|
# :call-seq:
|
353
353
|
# SendAsyncProc callback block: {|handle, msg, data, l_result| your callback code }
|
@@ -363,16 +363,16 @@ module Win
|
|
363
363
|
# [*Syntax*] BOOL SendMessageCallback( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam,
|
364
364
|
# SENDASYNCPROC lpCallBack, ULONG_PTR dwData);
|
365
365
|
#
|
366
|
-
# hWnd::
|
366
|
+
# hWnd:: <in> Handle to the window whose window procedure will receive the message. If this parameter is
|
367
367
|
# HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or
|
368
368
|
# invisible, unowned, overlapped and pop-up windows; but the message is not sent to child windows.
|
369
|
-
# Msg::
|
370
|
-
# wParam::
|
371
|
-
# lParam::
|
372
|
-
# lpCallBack::
|
369
|
+
# Msg:: <in> Specifies the message to be sent.
|
370
|
+
# wParam:: <in> Specifies additional message-specific information.
|
371
|
+
# lParam:: <in> Specifies additional message-specific information.
|
372
|
+
# lpCallBack:: <in> Pointer to a callback function that the system calls after the window procedure processes
|
373
373
|
# the message. For more information, see SendAsyncProc. If hWnd is HWND_BROADCAST, the system calls
|
374
374
|
# SendAsyncProc callback function once for each top-level window.
|
375
|
-
# dwData::
|
375
|
+
# dwData:: <in> Specifies an application-defined value to be sent to the callback function pointed to by
|
376
376
|
# the lpCallBack parameter.
|
377
377
|
# *Returns*:: Nonzero if the function succeeds, zero if it fails. For extended error info, call GetLastError.
|
378
378
|
# ---
|
@@ -404,14 +404,14 @@ module Win
|
|
404
404
|
#
|
405
405
|
# [*Syntax*] BOOL PostMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
|
406
406
|
#
|
407
|
-
# hWnd::
|
407
|
+
# hWnd:: <in> Handle to the window whose window procedure will receive the message. If this parameter is
|
408
408
|
# HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or
|
409
409
|
# invisible unowned windows, overlapped windows, and pop-up windows; but the message is not posted to
|
410
410
|
# child windows. If it is NULL, the function behaves like a call to PostThreadMessage()
|
411
411
|
# with the dwThreadId parameter set to the identifier of the current thread.
|
412
|
-
# Msg::
|
413
|
-
# wParam::
|
414
|
-
# lParam::
|
412
|
+
# Msg:: <in> Specifies the message to be posted.
|
413
|
+
# wParam:: <in> Specifies additional message-specific information.
|
414
|
+
# lParam:: <in> Specifies additional message-specific information.
|
415
415
|
#
|
416
416
|
# *Returns*:: Nonzero if the function succeeds, zero if it fails. For extended error info, call GetLastError.
|
417
417
|
# ---
|
@@ -444,16 +444,16 @@ module Win
|
|
444
444
|
#
|
445
445
|
# [*Syntax*] LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
|
446
446
|
#
|
447
|
-
# hWnd::
|
447
|
+
# hWnd:: <in> Handle to the window whose window procedure will receive the message. If this parameter is
|
448
448
|
# HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or
|
449
449
|
# invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to
|
450
450
|
# child windows.
|
451
451
|
# Microsoft Windows Vista and later. Message sending is subject to User Interface Privilege Isolation
|
452
452
|
# (UIPI). The thread of a process can send messages only to message queues of threads in processes of
|
453
453
|
# lesser or equal integrity level.
|
454
|
-
# Msg::
|
455
|
-
# wParam::
|
456
|
-
# lParam::
|
454
|
+
# Msg:: <in> Specifies the message to be sent.
|
455
|
+
# wParam:: <in> Specifies additional message-specific information.
|
456
|
+
# lParam:: <in/out?> Specifies additional message-specific information.
|
457
457
|
#
|
458
458
|
# *Return*:: The return value specifies the result of the message processing; it depends on the message sent.
|
459
459
|
# ---
|
@@ -512,21 +512,21 @@ module Win
|
|
512
512
|
#
|
513
513
|
# [*Syntax*] BOOL GetMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax );
|
514
514
|
#
|
515
|
-
# lpMsg::
|
515
|
+
# lpMsg:: <out> Pointer to an MSG structure that receives message information from the thread's message
|
516
516
|
# queue.
|
517
|
-
# hWnd::
|
517
|
+
# hWnd:: <in> Handle to the window whose messages are to be retrieved. The window must belong to the current
|
518
518
|
# thread. If hWnd is NULL, GetMessage retrieves messages for any window that belongs to the current
|
519
519
|
# thread, and any messages on the current thread's message queue whose hwnd value is NULL (see the MSG
|
520
520
|
# structure). Therefore if hWnd is NULL, both window messages and thread messages are processed.
|
521
521
|
# If hWnd is -1, GetMessage retrieves only messages on the current thread's message queue whose hwnd
|
522
522
|
# value is NULL, that is, thread messages as posted by PostMessage (when the hWnd parameter is NULL) or
|
523
523
|
# PostThreadMessage.
|
524
|
-
# wMsgFilterMin::
|
524
|
+
# wMsgFilterMin:: <in> Specifies the integer value of the lowest message value to be retrieved. Use WM_KEYFIRST
|
525
525
|
# to specify the first keyboard message or WM_MOUSEFIRST to specify the first mouse message.
|
526
526
|
# Windows XP: Use WM_INPUT here and in wMsgFilterMax to specify only the WM_INPUT messages.
|
527
527
|
# If wMsgFilterMin and wMsgFilterMax are both zero, GetMessage returns all available messages
|
528
528
|
# (that is, no range filtering is performed).
|
529
|
-
# wMsgFilterMax::
|
529
|
+
# wMsgFilterMax:: <in> Specifies the integer value of the highest message value to be retrieved. Use
|
530
530
|
# WM_KEYLAST to specify the last keyboard message or WM_MOUSELAST to specify the last
|
531
531
|
# mouse message.
|
532
532
|
#
|
@@ -606,22 +606,22 @@ module Win
|
|
606
606
|
# [*Syntax*] BOOL PeekMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax,
|
607
607
|
# UINT wRemoveMsg );
|
608
608
|
#
|
609
|
-
# lpMsg::
|
610
|
-
# hWnd::
|
609
|
+
# lpMsg:: <out> Pointer to an MSG structure that receives message information.
|
610
|
+
# hWnd:: <in> Handle to the window whose messages are to be retrieved. The window must belong to the current
|
611
611
|
# thread. If hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current
|
612
612
|
# thread, and any messages on the current thread's message queue whose hwnd value is NULL (see MSG).
|
613
613
|
# Therefore if hWnd is NULL, both window messages and thread messages are processed.
|
614
614
|
# If hWnd is -1, PeekMessage retrieves only messages on the current thread's message queue whose hwnd
|
615
615
|
# value is NULL, that is, thread messages as posted by PostMessage (when the hWnd parameter is NULL) or
|
616
616
|
# PostThreadMessage.
|
617
|
-
# wMsgFilterMin::
|
617
|
+
# wMsgFilterMin:: <in> Specifies the value of the first message in the range of messages to be examined.
|
618
618
|
# Use WM_KEYFIRST to specify the first keyboard message or WM_MOUSEFIRST to specify the
|
619
619
|
# first mouse message. If wMsgFilterMin and wMsgFilterMax are both zero, PeekMessage returns all
|
620
620
|
# available messages (that is, no range filtering is performed).
|
621
|
-
# wMsgFilterMax::
|
621
|
+
# wMsgFilterMax:: <in> Specifies the value of the last message in the range of messages to be examined.
|
622
622
|
# Use WM_KEYLAST to specify the last keyboard message or WM_MOUSELAST to specify the
|
623
623
|
# last mouse message.
|
624
|
-
# wRemoveMsg::
|
624
|
+
# wRemoveMsg:: <in> Specifies how messages are handled. This parameter can be one of the following values.
|
625
625
|
# - PM_NOREMOVE - Messages are not removed from the queue after processing by PeekMessage.
|
626
626
|
# - PM_REMOVE - Messages are removed from the queue after processing by PeekMessage.
|
627
627
|
# You can optionally combine the value PM_NOYIELD with either PM_NOREMOVE or PM_REMOVE. This flag
|
@@ -687,7 +687,7 @@ module Win
|
|
687
687
|
#
|
688
688
|
# [*Syntax*] BOOL TranslateMessage( const MSG *lpMsg );
|
689
689
|
#
|
690
|
-
# lpMsg::
|
690
|
+
# lpMsg:: <in> Pointer to an MSG structure that contains message information retrieved from the calling
|
691
691
|
# thread's message queue by using the GetMessage or PeekMessage function.
|
692
692
|
#
|
693
693
|
# *Returns*:: If the message is translated (that is, a character message is posted to the thread's
|
@@ -726,7 +726,7 @@ module Win
|
|
726
726
|
#
|
727
727
|
# [*Syntax*] LRESULT DispatchMessage( const MSG *lpmsg );
|
728
728
|
#
|
729
|
-
# lpmsg::
|
729
|
+
# lpmsg:: <in> Pointer to an MSG structure that contains the message.
|
730
730
|
#
|
731
731
|
# *Returns*:: The return value specifies the value returned by the window procedure. Although its
|
732
732
|
# meaning depends on the message being dispatched, the return value generally is ignored.
|